C语言问题,求大神解决,我是小白,最好解释下原因,谢谢拉

2024年11月22日 08:49
有5个网友回答
网友(1):

因为 while(k=1) 不是while(k==1),while 里面的 k=1 变成了 赋值语句,而不是实际目的与1去比较是否相等。这些程序 就会执行 k=1,然后再执行 k++;此时k=2;然后又执行 while(k=1),让K=1;然后又再执行 k++;此时k=2;,又再 while(k=1),让K=1,又再执行 k++;此时k=2;,如此循环,不会停止;此题我猜想是 想考 while语句 的语法 以及 赋值语句 与 比较语句的写法;while(k=1) 与 while(k==1) 意思完全不同,同时 if(k=1) 与 if(k==1) 意思也完全不同。

网友(2):

c,while里面都k重新赋值为1,然后作为判定条件k非零进入循环体,k++,之后k=2.再进入while循环,k重新被赋值为1.判定条件k为非零,继续进入循环。 无限次循环。

网友(3):

while括号内的k=1是赋值语句,意思是将1赋值给k,这个句子永远成立,所以while语句会永远执行下去。

网友(4):

while 里面是k=1,是赋值,不是k==1

网友(5):

while语句里面的“k=1”是赋值语句,赋值成功为1.