已知int x=2,y=-1,z=3;执行下面语句后,z的值是?

语句 :if(x<y)if(y<0) z=1; elsez++; 答案是3 ,不知道为什么

if(x<y)

{

       if(y<0){

         z=1; 

      }else{

        z++;

      }

}

你的代码相当于这样 ,根本就没有执行 z=1或者z++. 所以当然是3了 

温馨提示:内容为网友见解,仅供参考
无其他回答

当int x=2,y=4,z=3时,执行以下程序段后z=___. if(x<y)z+=x; else z...
z最后值是1。解:每个if判断条件,只控制其后的一个句子,也就是if之后,第一个分号之前,当然,你可以用大括号把若干句子括到一起,作为一个句子,以使if之后执行多个句子。所以,x 然后继续程序,执行x=y,此时,x=2,y=2,z=1 最后,执行y=z,此时,x=2,z=1;因为x=1,z=x=1;x=y...

已知int x=1, y=2, z=3,执行以下语句后x, y, Z的值是()。
if(x>y)Z=X;如果X>Y 执行Z=X,因为X不大于Y,所以Z=X这句话不执行,继续向下执行;X=Y;X=20;Y=Z;Y=30;Z还是原来的30。已知int x=1,y=2,z=3;,以下语句执行后x,Y,Z的值是()。if(x>y) z=x;x=y; y=z;(A)x=1,y=2,z=3 (B)x=1,y=3,z=3 (C)x=2...

main() {int x=2,y=-1,z=2; if(x<y) if(y<0)z=0; else z+=1; prin...
嗯,这个结果就是2,给你举个例子!if(x<y)if(y<0)z=0;else z+=1;这是C里面的典型的摇摆问题,else和距离它最近的if进行匹配,它相当于:if(x<y){if(y<0)z=0;else z+=1;} 而且若像for和while循环,还有一些逻辑判断语句,若下面不带括号,它的作用于只是它紧跟着的唯一一条语句:...

已知Int x=2,y=1,z;,则执行语句z=!x&&--y;后,y的值为嘛是1不是0 求解...
回答:--y是先自减后执行,也就是说在执行与运算时y已经是0了

已知int x=2,y=1,z;则执行语句z=!x&&--y;后,y的值是___ 答案是:y=1...
\/已知int x=2,y=1,z;则执行语句z=!x&&--y;后,y的值是___答案是:y=1 \/\/这种类型是每年必考的题型,考点为短路特性,z=!x&&--y,&&的特点两真为真,而现在计算时先算!x即0,所以后边的--y就不用计算了,因为0与任何东西都是0所以y为1 ...

已知int x=2,y=1,z;,则执行语句z=!x&&--y;后,y的值是?并解释一下z=!x...
int x=2,y=1,z;,则执行语句z=!x&&--y;后,y的值是1。z=!x&&--y;等价于 z=(x==0&&--y);只要x非0,x即为真,!x即为假 由于是逻辑与的关系,必须&&两侧均为真,z的值才为真。所以 只作判断x==0后已经得出结论,所以后面的--y已经不需判断就可得出结论了。即--y并没有执行...

main(){int x= 2,y=-1,z=2;
x=2 <y =-1 不成立,所有的if else的情况都不会执行,z的值不变 B。程序相当于main(){int x= 2,y=-1,z=2;if (x<y) { if(y<0) z= 0; else z+ =1; } printf("%d\\n",z);}\/\/else和它最近的if配对 19 已赞过 已踩过< 你对这个回答的评价是? 评论 分享 复制链接http:\/\/zhidao...

main() { int x=2,y=-1,z=2; if(x<y) if(y<0) z=0
else与它最近的if配对,而不是按缩进配对 main(){ int x=2,y=-1,z=2;if(x<y){ if(y<0) z=0;else z+=1;} printf("%d\\n",z);} 这个程序的else z+=1是与if(y<0) z=0配对的,像上面这样,既然x<y都不成立,里面的if else都不会执行,z的值不变 ...

以下程序的输出结果是( )。 main() { int x=2,y=-1,z=2;
选B if(x<y)的判断已经不会执行,后面的else是接上面那个不会执行的if,所以z的值不变,输出2

设有定义int x=1,y=2,z=3;执行下列程序后,输出结果是if(x>y)z=x,x...
if(x > y)后面如果没有{}的话,他能管紧挨着他的一条语句,z = x;这条语句是在归if管的,相当于 if(x > y) { z = x;} x = y;y = z;

相似回答