int x=1,y=2,z=3;
x+=y+=z;
cout<<(x<y?y:x)<<",";
cout<<(x<y?x++:y++)
这里最后一步不知道怎么回事
先谢谢一楼的回答,我也是这么理解的,那么输出应该就是 Y的值,也就是5啊,可是书上的输出是1……
参考资料:注意前加和后加的区别,返回值不同
表达式 x<y?x++:y++ 的值为 ?要讲清楚怎么算的 谢谢
这是一个式子,如果是z=x<y?x++:y++;的话,结果是x或者y中小的那个 比如x=3,y=5那么z=3。其实就相当于x<y?x:y;只不过在这句话后面,如果x<y,会执行x++,x>=y会执行y++,但是这里的x++和y++是在这句话之后执行的,也就是:比如x=3,y=5那么因为x<y,那么把x的值(这个时候是3...
C语言中z+=x<y?x++:y++的意思
判断 X<Y 为真 则 z=z+(x++);为假 则 z=z+(y++);
c语言中,若x=3,y=2,z=1,则表达式z+=(X<Y?x++;y++)的值是
X<Y ? x++ : y++ 意思是如果x<y,则执行x++,否则执行y++;例子中x>y,所以表达式相当于 z+=y++;y++值为2,所以相当于z+=2 z初值为1,计算后z=3
x<y?x++:y++
cout<<(x<y?y:x)<<",";相当于:if(x<y) cout<<y<<",";else cout<<x<<",";cout<<(x<y?x++:y++);相当于:if(x<y) cout<<x++;else cout<<y++;include<iostream> using namespace std;int main(){ int x=1,y=2,z=3;x+=y+=z;if(x<y) cout<<y<<",";else ...
int x=3,y=3,z=1,则printf("%d\\n,z+=x<y?x++:y++);的值为多少?_百度知 ...
由于+=优先级较高所以1+3=4.4不小于y所以执行y++ 3+1=4 结果是4
z=x>y?x++,++y是什么意思
z=x>y?x++:++y是 三目运算符:对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。例如:public class Test { public static void main(String[] args) { int a = 5; int b = 6; ...
...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的...
c语言(x-y)?(x++):(y++)
应该是C,此语句的意思是如果x-y为真 则执行x++,否则执行y++;c语言中非零即为真,所以此题应为C,呵呵!
(选择)与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()_百度...
在C语言中,有数据类型的转换。这里涉及的是数值型数据大逻辑型数据的转换。转换时,非零值转换为真,0值转换为假。有了这个基础就好解释了。这里是如果X-Y为真,用X++,否则 用Y++.X-Y为真,就是X-Y的值不为0.所以就是A了。
(x-y)?(x++):(y++)为什么与(x-y!=0)等价?
x=(a)?(b):(c) 的含义是如果a的值为真则x=b否则x=c (x-y)?(x++):(y++)相当于 if(x-y!=0)该式的值为x++ else 为 y++