C语言数组问题,第二个for循环,应该是循环到5余0才换行,为什么循环到4就换行,就详细分析

#include <stdio.h> //费波那西数列计算
main ()
{
int i;
int f[20]={1,1};
for (i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for (i=0;i<20;i++)
{
if (i%5==0) printf ("\n");
printf ("%12d",f[i]);
}
printf ("\n");
}

程序是先换行后输出的

追问

还是大哥牛逼 哈哈彻底懂了

追答

那给个采纳吧,谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-30
数组的下标从0开始的,而且0%5=0追问

1 1 2 3 5
8 13 21 34

for (i=0;i<20;i++)
{
if (i%5==0) printf ("\n"); 这里的i=0 和上面的1 对应吗 还是纯粹为了换行

第2个回答  2015-05-30
你的意思是循环到第四次就换行, 还是说i等于4的时候就换行?追问

程序是循环5次就换行 0次也余0为什么不换行

追答

第一次换了, 只是你没发现而以. 因为第一次换行, 前面没有输出任何东西, 加上周围空隙大, 一圈黑, 你就感觉是没有换行, 不信你在循环输出前面输出一个字符看看.

追问

是的 我看到了 谢谢啊

相似回答