大一才学c语言,请问一下为啥是死循环?

img

while(x=2)中是一个= 是赋值,两个= 才是比较相等,

while(x=2)是把x赋值为2。再判断2是否为真,循环条件判断不是0的数值都是真,所以是死循环

如有帮助,望采纳!谢谢!

因为x=2是赋值,恒成立。
while(x=2)中是一个等于号是赋值,两个==才是比较相等。
又由于循环内,没有break,所以导致一直死循环了。
如果把while(x=2)改为while(x==2)就不是死循环,结果就不一样了。

while中的x=2是复制语句,执行结果永远为true,你可以改成x==2,两个等于号表示判断是否相等