如题所述
这样的条件表达式写法是错误的。在C语言中的关系运算符并不像数学中写的那样简单。 如问题中的 1<=x<=2,在数学上可以表示x的值大于等于1且小于等于2,但是在C语言中只能写成下面的语句,以表示x的值大于等于1且小于等于2.
1<=x && x<=2如果按问题中的写法,则必须然是死循环,因为关系表达式一定有一个有值,这个值要么是1要么是0,1<=x,无论x的值是多少,它的值要么是0要么是1,而这个值,始终是小于2的,所以条件一定是成立的,因此为死循环。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-06-21
while(1<=x<=2)这个是死循环
这样的表达式为逻辑判断,一步步的做出返回
先(1<=x)返回0或1
然后再判断(1<=x)<=2,返回0或1
所以返回值永远是1,所以是死循环
如果要写成判断,改为while(x>=1 &&x<=2)
这样的表达式为逻辑判断,一步步的做出返回
先(1<=x)返回0或1
然后再判断(1<=x)<=2,返回0或1
所以返回值永远是1,所以是死循环
如果要写成判断,改为while(x>=1 &&x<=2)
第2个回答 2010-06-21
当X的值在大于等于1,小于等于2的时候,执行while后边{ }里的内容本回答被提问者采纳
第3个回答 2010-06-21
当X值在1到2的范围时