您现在的位置是:首页 >

天赐 intz 假设有条件 int x=1,y=2,z=3;则表示式z+=x>y?++x:++y的值是6,为什么是6呢?

火烧 2021-12-27 12:46:31 1052
假设有条件 i t x=1,y=2,z=3 则表示式z+=x gt y?++x:++y的值是6,为什么是6呢? 假设有条件 i t x=1,y=2,z=3 则表示式z+=x gt y?++x:++y的

假设有条件 int x=1,y=2,z=3;则表示式z+=x>y?++x:++y的值是6,为什么是6呢?  

假设有条件 int x=1,y=2,z=3;则表示式z+=x>y?++x:++y的值是6,为什么是6呢?

你好 ,比目运算子(?:) 和> 的优先顺序都比 += 高。
所以上式可以这样看 z = z + (x>y?++x:++y)
z = z + (++y) = 3 + (2+1) = 6
请采纳,有问题可追问。

设有int a=1,b=2,z;,则表示式z=x>y?x+y:x-y的值是

题目是错的把。你x和y哪里定义了??是a和b才对把。

z=x>y?x+y:x-y

你可以看成

天赐 intz 假设有条件 int x=1,y=2,z=3;则表示式z+=x>y?++x:++y的值是6,为什么是6呢?
if(x>y){ z=x+y;}else{ z=x-y;}

如果a为x,b为y,z=-1

int x=1,y=2,z=3; z+=x>y?++x:++y; 计算后的值为什么是6?

不知道
z=z+(x>y)=3 是真值 取 ++x
等于2
为什么是6

int x=2,y=2,z=0;则表示式x==y>z的值为0 为什么是0

考虑优先顺序高低:
x==y>z可以看成是 x==(y>z)
因为y>z 成立 所以返回真 就是 1
然后 x 和1 判断:X==1返回假,所以是0

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

相当于:
if ( x>y ) { z=x; x++; }
else { z=y; y++; }
所以执行完成后:x=1 y=3 z=2

int x=3,y=4,z=5;则表示式!(x+y)+z-1&&y+z/2的值是 A 6 B 0 C 2 D 1

C++中答案是D 1
因为按运算子优先顺序先算(),再算!,接着/,然后+ -,最后&&
就等于算 【!(x+y)+z-1】&&【y+z/2】=1
谢谢。

若w=1,x=2,y=3,z=4,则条件表示式w<x?w:y<z?y:z的值是1 为什么

每个判断都是真的,所以为1

经过以下语句定义后,表示式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=2,y=2,z=0; 则表示式x==y>z的值为【1】

优先顺序高低问题
可以看成是 x==(y>z)
因为y>z 成立 所以返回真 就是 1
然后 x 和1 判断
如果是C语言的话 那么应该是 0啊
反正大体上就是这样考虑的

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码