使用while语句的困惑?

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:47:50
在TURBO C中,在控制每行字数时,如果用if语句,没问题:
#include <stdio.h>
main()
{int a[5],i;
for(i=0;i<n;i++)
{scanf("%d",&a[i];
printf("%d",a[i];
if((i+1)%3==0) printf("\n");
}
}
如果把if语句换成while语句,也就是 while(i+1)%3==0 printf("\n"); 则输入三个数字后就黑着屏不动了.我闹不明白为什么,陷入僵局了,请懂的人点拨下.谢谢:)

因为一旦满足i+1%3==0后,程序会不断的执行printf("\n"),陷入死循环

你为什么会认为if语句跟while语句有什么可替换的理由呢? 这一个是分支结构一个是循环结构, 行为必然不同啊

为什么要把if换成while呢
如果换成while 条件一直是真的,这样printf("\n");语句就会一直执行

一楼正解!!while 与if跟本不一样

你是故意散分的了