关于《c程序设计》上一简单矩阵打印的例题的疑问
#include<stdio.h>int 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");
return 0;
}
课本上正确的码如上,不理解的是红色字体部分。
程序不是按顺序读取语言的么
1.为什么不是先打印再另起一行,而是先检验是否需要另起一行再打印?
2.如果先另起一行再打印说得通的话,在循环的第一次(即*a[0]被打印出来),不应该就有另起一行么?
额,我表述得不大清楚,谢谢先!
[ 本帖最后由 fallenpeanut 于 2015-4-21 17:12 编辑 ]