c++编程中--x&&++y&&++z是什么意思

int x,y,z;
x=y=z=1;
--x&&++y&&++z;
cout<<x<<y<<z;

为什么结果为0 1 1

多个&&从左往右算,先算--x,结果(--x)的返回值是0.
&&表达式中,一旦左边的表达式为0,右边的表达式就不用算了。
所以++y不会算,且(--x&&++y)的值是0
而0 && ++z同样的,右边不用算,所以结果x,y,z就分别是 0,1,1了
温馨提示:内容为网友见解,仅供参考
无其他回答

c++编程中--x&&++y&&++z是什么意思
所以++y不会算,且(--x&&++y)的值是0 而0 && ++z同样的,右边不用算,所以结果x,y,z就分别是 0,1,1了

--x&&++y&&++z 这个语句怎么理解
(--x)&&(++y)&&(++z);即对x自减,y、z自增的结果进行逻辑与运算

C语言的--x&&++y||++z要怎么理解
--x&&++y ; 这句执行完成后,x=0, y依然是2 如:int y=0, z=2;++y||++z ; 这句执行完成后,y=1 z依然是2

C语言++x&&--y&&z++怎么理解?
先将x的值自增1,如果x的新值为0,说明++x返回false,不再执行后续语句(后面y和z的值都不会变),整个表达式也返回false;如果x的新值不为0,继续执行--y,先将y的值自减1,如果y的新值为0,说明--y返回false,不再执行后续语句(后面z的值不会变),整个表达式也返回false;如果y的新值...

C语言中,++x||++y&&++z的意思是?还有++x&&++y&&++z???
逻辑运算而已,用于判断;1,++x||++y&&++z 先给x + 1,若等于0,计算右边,分别给y和z +1后若不为0整个表达式不为0,若x +1不等于0则不计算右边的表达式;2,++x&&++y&&++z 先给x +1, 若不等于0,计算右边,给y +1若不等于0,计算右边,给z +1若不等于0表达式不等于0...

在C++中,如果输入f= --x || y-- && z++;请求输出z时Z等于2,为什么f=...
这个在于你的y值。因为在c++表达式中,逻辑运算会出现“短路”现象。比如y=1,z=1,则y--&&z++的时候,y=1为真,就会计算z++,z就变成了2;而--y&&z++的时候,y=1先变成了0,而0表示假,&&运算符后面的表达式就不会处理了,因此z++根本就不执行,因此z还保持原来的值,为1!

c语言 ++x||++y&&++z
才需要继续执行后一项的值,你所写的程序执行过程如下:由于++x=1为真,则或运算的表达式为真,则其后的++y不执行,所以到此x=1,y=0;继续执行后面的与运算,由于前面的++x||++y表达式为真,不能够决定整个与运算表达式是否为1,则继续执行++z,所以有z=1,所以该表达式的值为1。。。

c语言++x||++y&&++z输出的xyz是什么
&&的优先级比||高,a&&b,如果a为false, 则b表达式不执行,a||b,如果a为true,则b表达式不执行 假如开始时:x = 1, y = 1, z = 1,则结果为:x= 1 y = 2, z = 2

C语言中所有的代码及其代表的意思,有谁知道?
cout << "x = " << ++x << end1;输出结果如下:x=10 x=11 x=12 x=12 递减操作符也是这样,这里不想将这些内容讲得太深,但读者可以耐心阅读下去,正如彭兹对奥古斯特所说,“奥古,耐心点,罗马不是一天建成的”。说明 在C++中操作符可以过载(overload)。编程人员可以通过过载标准操作符让...

有谁能帮俺解释一下++x||++y&&++z是什么意思啊?~~
(++x)||(++y)&&(++z) 就是 1.x=x+1 因为x已经为TRUE,所以(++y)&&(++z)应该不会执行。屏幕输出应该是2,1,1

相似回答