因为 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) 意思也完全不同。
c,while里面都k重新赋值为1,然后作为判定条件k非零进入循环体,k++,之后k=2.再进入while循环,k重新被赋值为1.判定条件k为非零,继续进入循环。 无限次循环。
while括号内的k=1是赋值语句,意思是将1赋值给k,这个句子永远成立,所以while语句会永远执行下去。
while 里面是k=1,是赋值,不是k==1
while语句里面的“k=1”是赋值语句,赋值成功为1.