c语言的问题,后面那个i%5==0什么意思,前面循环完i等于19呀,取余5不能等于0呀,还有那个\

c语言的问题,后面那个i%5==0什么意思,前面循环完i等于19呀,取余5不能等于0呀,还有那个\n是什么意思,空格吗,有谁能帮帮我,谢谢了

for(i=2;i<20;i++)循环的结束条件是i>=20,因此,循环结束后i=20而不是19,因此20%5==0成立输出一个空行(\n代表换行)。接下来程序试图输出f[i],其中i=20,而f数组总共只有20个元素,最大只能为f[19],明显,f[20]越界,所以输出的是一个未知的数字(具体视操作系统而定)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-11
这题印错了一处,就是for语句下面第2行开头的大括号应该移到for下第一行开头。即;
for(i=2; i<20; i++)
{ f[i]=f[i-1]+f[i-2];
if(i%5==0)
printf("\n"); 这里是说逢i为5,10,15打印一个换行符,这样结果就是5个一行排好的
printf("%5d",f[i]); 这里把循环里每次算出的数列成员打印出来,这里%5d后应加空格,否则数列结果都连在一起
}本回答被网友采纳
第2个回答  2016-04-11
花括号不成对!追答

根据代码分析:i%5==0是控制一行输出5个数,

"\n"是换行

个人观点:题目的代码有问题!

相似回答