jcst.net
当前位置:首页 >> int X=1, y=0;iF(!x) y++; ElsE iF(x==0) iF( >>

int X=1, y=0;iF(!x) y++; ElsE iF(x==0) iF(

输入0.这个代码你可以这样看 if (!x) y=0;else if (x == 0) if (x) y+=2; else y+=3;这样你应该懂了,不懂再问

#include int main() { int x=1,y=0; if(!x) y++; 这句 !x = 0 ; 所以 y++ 不执行 ; else if(x==0) x!= 0 ;所以 下面两句不执行; { if(x) y+=2; else y+=3; } printf("%d",y); 所以y=0 ; }

在java中这个if(!x)应该是错了吧,整型变量好像不能做判断。 不过在C和C++中可以,在if(!x)这句判断时为假,所以y++并不执行。 然后进行if(x==0)判断,因为x=1值并没有发生改变, 而if(x)y+=2; else y+=3;都是包括在if(x==0)的判断条件里的, ...

结果是0; x=1,!x为false 所以再判断x==0也不成立故y=0 else if (x==0) if (x) y+=2; else y+=3; 和 else if (x==0) { if (x) y+=2; else y+=3; } 是一样的意思

if (x++)//执行,但条件不满足,x+=1 x=1 { w = x; } else if (x++ && y >= 1)//x=1 y>=1 条件满足,然后x+=1 x=2 { w = y;//w=1 } else if (x++ && z > 1)//不执行 { w = z; } x=2,w=y=1

就是D啊 if(!x)y++;等价于 if(0)y++; 是个非值 等式不成立 上面的if 和else语句都没有执行 返回初始值 0

if(++x == y-- & x++==1||--y==0) 这句话中 根据运算优先级,先算& ++x==y--相当于 x=x+1;//x成1 x==y;结果是true y=y-1;//y成0 然后x++==1 则是 x==1; //结果是true x=x+1;//x成2 所以++x == y-- & x++==1总体结果是true 因为短路原则,后面||...

输出-1。请采纳,谢谢

3.5.第一排赋值,第二排IF语句,选择,else选择赋值

我整理了一下,你就清楚了,你的程序就相当于: #includemain(){int x=1,y=0;if(!x)y++;else{if(x==0){if(x) y+=2;else y+=3;}}printf("%d\n",y);} 因为else总是与尽可能近的if配对。 求采纳为满意回答。

网站首页 | 网站地图
All rights reserved Powered by www.jcst.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com