在《C程序设计》第五版的第五章例5.6中有个困惑点。
题目:
输出一下 4 * 5 的矩阵。
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
代码如下:
#include<stdio.h>
int main()
{
int i, j, **n = 0**;
for(i = 1; i <= 4; i ++)
for(j = 1; j <= 5; j ++, n ++)
{if(n % 5 == 0) printf("\n");
printf("%d\t", i * j);
}
printf("\n");
return 0;
}
n的初始值为0,在内for循环第一遍的时候应该还是0吧?如果是的话那不应该进入if语句中输出一个“回车”吗?是我哪里理解出问题了吗?
还是说0 % 5 != 0?
谢谢~
如果按n%5==0的判断,0是5的倍数
你意思是代码没有输出换行符吗?
测试了一下,开头输出换行了啊
if(0 % 5 == 0)是满足条件的。会执行if后面的语句。
你可以在if后面语句中输出n的值看看。