第1个回答 2011-04-02
改成while(1<=x&&x<=2)才对,表达式1<=x<=2先算1<=x,不管x为什么值,1<=x要么成立,要么不成立,即它的结果只有1和0两种,接下来算1<=2(或者0<=2),其值仍然为真,因此它是一个永真循环,会无限循环下去。。。
第2个回答 2011-04-02
smart0193正解
do{
...
}while((x>=1)&&(x<=2));
这样就对了,别和数学上的比较弄混了
第3个回答 2011-04-02
while(1<=x<=2)改为while(x>=1 &&x<=2)
第4个回答 2011-04-02
x=3;
do
{
y=x--;
if(!y)
{
printf("x");continue;
}
printf("#");
}while(1<=x<=2);// 如果是while(1<=x and x<=2)就是你的答案了,忘记C是用&& 表示还是and 表示了
第5个回答 2011-04-02
while(1<=x<=2)这个是死循环
这样的表达式为逻辑判断,一步步的做出返回
先(1<=x)返回0或1
然后再判断(1<=x)<=2,返回0或1
所以返回值永远是1,所以是死循环