在我的书中有一个例子,它要求编写一个程序,使用5列打印数字1到100(每个数字用下一个标签与下一个数字分开).解决方案如下:
#include "stdio.h"
int main()
{
int i;
for(i=1; i<=100; i++) {
printf("%d\t", i);
if((i%5)==0) printf("\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但我无法理解if((i%5)== 0)printf("\n"); 声明.你能帮我解释一下吗?
Pab*_*ruz 10
该%操作符是模运算符(整数除法的余数).所以每经过五次循环迭代,你的程序就会输出一个\n字符(换行).
价值观将是:
Iteration i%5 value
i=1 1
i=2 2
i=3 3
i=4 4
i=5 0
i=6 1
i=7 2
i=8 3
i=9 4
i=10 0
Run Code Online (Sandbox Code Playgroud)
因此,每五个打印件,一个\n(新行)将打印到标准输出.
希望能帮助到你.