请高手帮我解释一下我这个程序中 for循环语句的作用....最好详细点....

#include<stdio.h>main{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int*p;for(p=a[0];p<... #include <stdio.h>
main
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
for(p=a[0];p<a[0]+12;p++)
{
if((p-a[0])%4==0) printf("\n");
printf("%4d",*p);
}
printf("\n");
getch();
}

(p-a[0])%4==0是什么意思呢?
展开
 我来答
_chengazi
2011-01-05 · 超过12用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:31.6万
展开全部

P  是 指针 刚开始指向 a[0], (p-a[0])%4==0)  %是求模 a=B%C 返回的是B/C 后的余数。(p-a[0])是求P所指地址和a[0]所在地址的差。  if((p-a[0])%4==0) printf("\n");的意思是p指向的地址与a[0] 所在的地址的差为4的倍数时 换行(即每输出四个数时换一行)。

 输出结果如下:

yinger090807
2011-01-05 · 超过10用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:31.4万
展开全部
P 是 指针 刚开始指向 a[0], (p-a[0])%4==0) %是求模 a=B%C 返回的是B/C 后的余数。(p-a[0])是求P所指地址和a[0]所在地址的差。 if((p-a[0])%4==0) printf("\n");的意思是p指向的地址与a[0] 所在的地址的差为4的倍数时 换行(即每输出四个数时换一行)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wsj14847
2011-01-05
知道答主
回答量:30
采纳率:0%
帮助的人:13.5万
展开全部
for循环的作用是用来将二维数组分行显示出来。
(p-a[0])%4==0的意思是如果当前指针距离起始位置为4的整数倍(%为模运算),那么增加一个回车符printf("\n")。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捷克铁人
2011-01-05 · 超过27用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:97.8万
展开全部
每四个换行一次呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式