C语言中,++x||++y&&++z的意思是?还有++x&&++y&&++z???????????

还有x++&&--y&&z--||--x的意思?

逻辑运算而已,用于判断;
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;否则整个表达式为0;

3,x++&&--y&&z--||--x
先看x 是否为0,如果不为0,x +1;计算右边,先给y-1,若不为0,计算右边,判断z是否为0,不为0,表达式(x++&&--y&&z--)值为1,z-1;右边不用计算了;若z为0,z-1, 右边先给x-1若不为0整个表达式为1,若为0整个表达式为1;
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-02
逻辑运算而已,用于判断;
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;否则整个表达式为0;

3,x++&&--y&&z--||--x
先看x 是否为0,如果不为0,x +1;计算右边,先给y-1,若不为0,计算右边,判断z是否为0,不为0,表达式(x++&&--y&&z--)值为1,z-1;右边不用计算了;若z为0,z-1, 右边先给x-1若不为0整个表达式为1,若为0整个表达式为1;
第2个回答  2014-11-24
一、前++ (前--)都是先进行自增,再使用变量,如:--x 相当于 x=x-1 , x==0 ?
二、&& 和 || 有断路特性
&& 当遇到 0时,不再运行其后的同级运算
|| 当遇到 1时,不再运行其后的同级运算

如:int x=1, y=2 ;
--x&&++y ; 这句执行完成后,x=0, y依然是2
如:int y=0, z=2;

++y||++z ; 这句执行完成后,y=1 z依然是2
第3个回答  2015-01-05
首先从c语言运算符优先级来看, && 高于||

所以上面表达式相当于 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最后就是(1 || 0)=1
第4个回答  2012-11-28
要看优先级,,逻辑与与逻辑或的优先级是一样的,那就先从左开始,先++x||++y做判断,判断的结果在于&&++z进行判断。主要就是优先级,你可以去谭浩强的书中去看,那有详细的介绍。

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;否则整个表达式为0;3...

c语言表达式t=++x||++y&&++z;怎么理解,小弟初学,看不懂,求老师指点...
++z就是该语句结束后 z值加1 1。算++y&&++z就是计算y&&z只要y与z都不为0,那么结果为1,否则为0;2。随后算++x||(++y&&++z),令d=++y&&++(这句是为了容易理解才写的),随后判断x||d,只要x与d至少一个不为0,那么结果就是1,否则结果为0;3。然后把结果给t;4。最后x ...

请问c语言t=++x||++y&&++z这句话是什么意思?
c ++x||++y&&++z ++x = 2 , ++y = 2 , ++z = 1 (++x||++y)&&++z,可以这样来分,前面因为++x=2 所以扩号的值是1 1&&++z = 1&&1=1 这些都是逻辑判断,不要去理会具体等于多少,只要看它等于0还是等于1就可以了 ...

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

c语言 ++x||++y&&++z
c语言中或运算符如果运算符前面的一项不为0则后面一项不执行,否则执行,与运算符如果前面一项为0则后面一项不执行,否则后面一项执行,也就是说当前面的一项的值能够决定这个表达式的值的时候后面的都不再执行,当前面的一项不能决定该表达式的值时,才需要继续执行后一项的值,你所写的程序执行过程如下...

请问关于C中++x||++Y&&++z的问题
这个东西是表达式运算顺序的问题,当"++X"为真以后,"||"后面的表达式其实是没有被运行的.所以结果应该是X=1 Y=0 Z=0

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语言
看如下语句:x=y=z=-1;++x||++y&&++z;++x,值为0,x值也为0;接下来是||,还要对后面进行判断,++y,值为0,y值也为0;接下来是&&,不再进行判断,整个表达式的值为0,z的值仍为-1。故执行完后,x=0,y=0,z=-1 x=y=z=-1;++x&&++y||++z;++x,值为0,x值也为0;接...

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

当x=y=z=0时,c语言中++x || ++y && ++z; x ,y,z的值是多少
所以 这个表达式等效于 ++x||(++y&&++z)二、 虽然&&优先级要高,但并不代表要先计算右侧的&&, 而是右侧是一个整体。在计算的时候还是从左到右扫描的。先计算++x, x先自加为1。于是等效于 1||(++y&&++z)三、 根据短路运算,当||左值为1时,右值是1还是0已经不影响最终结果了。所以右值...

相似回答