幽会出装:[c]以下for循环的执行次数是?

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 09:46:54
for(x=0,y=0;(y=123)&&(x<4);x++);

答案是4次
我不太明白那个y=123是什么意思 是给y赋值吗?这样的话还有真假可言吗?

在C/C++中,非0整数相当于true(其实是标志寄存器的ZF位,即操作数为0判定位)。y=123是赋值表达式,计算结果就是所赋的值123,此语句恒为真。

PS
for(x=0,y=0;(y==123)&&(x<4);x++);
可不是死循环,x增长到4就会退出循环;
for(x=0,y=0;(y==123)||(x<4);x++);
才会是死循环,因为中间表达式恒为真。

x=0,x=1,x=2,x=3是循环4次啊 Y=123是说Y是真的,而不是假的

此程序可以这样改写
int x,int y;
for(x=0,y=0,y=123;y&&(x<4);x++);
y=123指为true
然后再x=0,1,2,3
若改为
for(x=0,y=0;(y==123)&&(x<4);x++);
则为死循环
若改为
for(x=0,y=0;(y)&&(x<4);x++);
则为0次