、定义:int x=1,y=2,z ;执行 z=x>y? x++: y++; 表达式后,x,y,z的值是

答案是1 3 2 请问这个是怎么来的呢

? :为三元运算符,例如:a?b:c
表示如果a为真,则表达式值为b,如果a为假,则表达式值为c

先算x>y 为false其值为y++,即为3,所以最后x=2,y=3,z=3
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-02-08
先明白x++||y++||z++这个表达式结果只有可能2个值,0和1,||运算符有个特点,如果第一个表达式结果是真,则后面的表达式将不执行,因为x=5,结果非零,所以这里只执行了一个x++,最后x=6,y=6,z=8
第2个回答  推荐于2018-04-12
相当于:
if ( x>y ) { z=x; x++; }
else { z=y; y++; }
所以运行完成后:x=1 y=3 z=2本回答被网友采纳

已知:int x=1,y=2,z;,则执行语句z=x>y?x++:y--后,变量z的值_百度知 ...
{int x=1,y=2,z;z=x>y?x++:y--;printf("%d %d",z,y);} x>y,则z=x++否则z=y--表达式y--的值先取y值作为表达式的值,即z=2.再y值减1

int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是?
表达式z+=x>y?++x:++y等价于z=z+(x>y?++x:++y).变量赋值后即为z=3+(1>2?++1:++2),1)由于1>2为假(即表达式结果为0),因此返回表达式++y;2)执行++y.++y是先对y变量执行自加,在返回自加后结果,即为3(即为(x>y?++x:++y)的结果).3)执行z+=.将(x>y?++x:++y)结果带入...

C语言中 int x=1,y=2,z=3;则z+=x>y?++x:++y 的值为多少?为什么? 求大...
答案应该是6.因为先进行x>y?这个判断,而x>y为假,所以z+=++y,++y的值是3,所以z+=3,本来z=3,所以z的值为6

int x=1 y=2 z;执行z=X>Y||X&&Y求z的值 求详解
z=(x>y)|| (x&&y);因为X小于Y,及前一部分为0;又因为X、Y都大于0(C语言看做为真),故后一部分为真,再两部分相或(有一部分为真就为真),故结果为真(默认的值就是1),故最后结果是Z=1;

设int x=1,y=3,z; 执行z=x>y?++x:y++后z的值是?
程序先判断x>y是否成立,显然不成立,那么就返回冒号后面表达式(y++)的值,此表达式的值是先引用再++ 所以最后 z应该等于3

...表达式z+=x>y?++x:++y的值为()。int x=1,y=2,z=3
确实是6。z+=x>y?++x:++y;分析这条表达式就是 z+=(x>y?++x:++y);可知 x>y? 为false,则应返回++y的值;即(x>y?++x:++y)=3;z+=3;所有答案就是6 了

...int X=1,y=2,z=3; x+=y+=z; printf("%d",(x<y?X++;y++)) } 输出...
判断x<y的真假,真就取x++,假就取y++ x=1,y=2,z=3 x+=y+=z 是自右运算的,y=y+z=5 此时y=5 x+=y x=x+y=1+5=6 然后判断x<y 很明显x>y 所以条件是假值,取y++ 这里注意一下,要求输出的是y 不是y的值 所以最后结果是5 但如果要求输出y y的值就是6 ...

已知intx=1,y=2,z=1;表达式"(++x)+(y++)+(z++)的值是4,不是6
这题应该 等于 5 ; ++x 是先+1在取x的值,所以 (++x)=2 ;y++是先取y值再+1,(y++) =2,z++是先取z值再+1,(z++) = 2 。 放在程序里运行一下,分别用 n、m、o 变量对应 (++x)、(y++)、(z++) 断点调试,一目了然。

14、已知:int x=1,y=2,z=0,则执行z=y>x?(10+x,10-x):(20+y,20-y)后...
z=9,x,y不变,因为:(y = 2)> (x = 1),所以:z = (10+x,10-x) = (11,9),又因为:逗号表达式取最右端值,所以:z = 9;

int x=1,y=2,z=3; x+=y+=z; 的表达式结果是什么?怎么分步计算?(z>=y=...
结果为6 x+=y+=z;可以理解为两个表达式,另外+=是从右向左结合,所以先算最右边的 首先,是表达式y+=z,计算后y=5,z=3,表达式y+=z的值为5 最后,是表达式x+=(y+=z);因为y+=z;这个表达式已经为5了,所以x+=y+=z;可以等价为x+=5,所以最后的结果就6 这个问题主要是需要理解表达式的概念...

相似回答