c语言表达式t=++x||++y&&++z;怎么理解,小弟初学,看不懂,求老师指点。...

c语言表达式t=++x||++y&&++z;怎么理解,小弟初学,看不懂,求老师指点。谢谢!

分为4部分
t= 是一部分 ++x是一部分 ++y是一部分 ++z是一部分
=的等级最低所以最后算
++x就是该语句结束后 x值加1
++y就是该语句结束后 y值加1
++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 y z三个数的值各加1
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-30
你可以这样看就好理解了
t=(++x)||(++y)&&(++z)
在||与&&中,&&的优先级高先运行&&,即:
t=(++x)||【(++y)&&(++z)】;
||与&&都是逻辑运算符!
第2个回答  2011-11-30
既是:(t=x+1)||((y=y+1)&&(z=z+1))

c语言表达式t=++x||++y&&++z;怎么理解,小弟初学,看不懂,求老师指点...
t= 是一部分 ++x是一部分 ++y是一部分 ++z是一部分 =的等级最低所以最后算 ++x就是该语句结束后 x值加1 ++y就是该语句结束后 y值加1 ++z就是该语句结束后 z值加1 1。算++y&&++z就是计算y&&z只要y与z都不为0,那么结果为1,否则为0;2。随后算++x||(++y&&++z),令d=...

请问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就可以了 ...

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

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

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...

...语句后,t的值为( ) x=y=z=1; t=++x||++y&&++z;求过程。
x=y=z=1; \/\/首先执行这一句:把1赋值给z,再把z的值给y,再把y的值给x x,y,z的值都等1 t=++x||++y&&++z; \/\/在这一条语句中,赋值号=的运算级别最低,因此先算++x||++y&&++z \/\/先算++X后x=2 表达为 x||++y&&++z \/\/++y 后 y=2 表达为 x||y&&++z \/\/++z ...

x=y=z=1 t=++x||++y&&++z 求t,x,y,z的值
我给你说下c++和c语言处理这行代码的过程。首先是从左往右的。t=++x||++y&&++z 第一步:t= (++x) || (++y&&++z);因为||这个符号的优先级最低。第二步:++x; 执行完之后x=2;(对于||这个符号有个特点就是如果左边是非零,那么直接就返回值了,不用执行右边了。因为没有意...

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

请求帮忙C语言,请详细解答,谢谢了
include <stdio.h> int main(){ int x,y,z,t;x=y=z=1;t=++x||++y&&++z;printf("%d",t);} 全部非零 没有非运算 肯定是1啊

C语言中逻辑运算的“短路”特点的疑问。
与1一样,t=++x&&++y||++z;被解释为t=(++x&&++y)||++z;,如果++x&&++y为“真”,就不必计算++z了,因为||两边有一边为“真”就可以确定整个表达式的值了;但如果++x&&++y为“假”,那就还要计算++z,才能确定整个表达式的值t。“短路”是一种通俗说法,准确地说是这样的,按优先级及...

相似回答