执行一下语句: int n=0; while(n=1)n++; while 循环执行次数为什么是无

执行一下语句:
int n=0;
while(n=1)n++;
while 循环执行次数为什么是无线次

因为在 while(n=1) 中,是 n=1,而不是 n==1。

在 C 语言中,= 是赋值,==是判断。

解释:

int n=0; //n=0
while(n=1) // n 此时等于1
  n++;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-13
如果是c语言的话,应该这样写判断while(n==1),

因为在c语言中n=1是赋值,而n==1才是判断n是否=1,
故上面的语句中不存在判断,无限循环也就理所当然了
第2个回答  2015-05-30
改成
int n=0;
while(n==1)n++;
while

n=1是个赋值语句,是个动作,表示令n的值为1。
而n==1表示一个状态,表示n的值与1相等。
第3个回答  2015-05-30
while(n=1)n++
n=1是赋值语句,把1赋值给n。
第4个回答  2015-05-30
因为一个等于是赋值,两个等于才是比较。追问

明白 谢了

本回答被提问者采纳
相似回答