您现在的位置是:首页
>
天赐 intz 假设有条件 int x=1,y=2,z=3;则表示式z+=x>y?++x:++y的值是6,为什么是6呢?
假设有条件 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你可以看成

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啊
反正大体上就是这样考虑的
很赞哦! (1052)