C语言:while循环语句输出问题

2025-03-22 18:51:10
推荐回答(5个)
回答1:

while(1){}是死循环,同理while(1);也是死循环
这样可能会比较好理解,for(i=0;i……
……
while(1)
{
.....
if(...)break;
//这里当条件满足后,跳出whil循环,执行test这里的程序
.....
}
test.....
if(...)break;
//同理,这里当条件满足后,跳出for循环,结束死循环,执行for外面的程序
}
这样说是否能理解?

回答2:

while(1){}是死循环,同理while(1);也是死循环 这样可能会比较好理解,for(i=0;i<10;i ){} 循环了10次;for(i=0;i<10;i );一样循环的了10次,只是后面这个没有执行语句, while(!RI) RI取反为真的时候执行,即RI为0的时候执行 这个也是死循环,如果你要跳出循环的话 for(;;) {
……
……
while(1)
{
.....
if(...)break; //这里当条件满足后,跳出whil循环,执行test这里的程序
.....
} test.....
if(...)break; //同理,这里当条件满足后,跳出for循环,结束死循环,执行for外面的程序 }
这样说是否能理解?

回答3:

如果不定义初始值的话,sum的初始值就是一个垃圾值比如(1594213)。“正确输出应该是i=101,sum=5050吗?”其实不是,看你写的程序:正确输出应该是i=101,sum=100;“sum=sum+1;”这句代码写错了。应该改为:sum = sum + i; "老是i=2367460,sum=1243068"是因为你的编译器有问题!

回答4:

首先,楼主将主函球返回值修改成整型看看。其次,正确输出i应该是99…因为你之前出始化为1,进入循环第一次循环成功后自加为二……以此类推。最后,设置出始值是将变量保存到硬盘地址中,便于程序读取……学到指针的话应该懂的。

回答5:

while(i<=100)
{
sum=sum+1;
i++;

这里循环条件是 i小鱼等于100
sun也不应该等于 5050 但是 为什么是 2367460 就不知道了