C语言中xyzxy,C语言中,++x||++y&&++z,++x&&++y&&++z的意思分别是什么?

2021-03-02 08:20:12 字数 2452 阅读 2276

1楼:左左强强峰峰

逻辑运算而bai

已,用于判断;du

1,++x||++y&&++z

先给zhix + 1,若等于0,计算右dao边,分别专给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;

c语言 ++x||++y&&++z

2楼:左左强强峰峰

逻辑运算而已,用于判断;

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;

3楼:沧海雄风

因为“左结合律”和“ 短路求值 ”。

c语言保证逻辑运算的求值顺序是从左往右的。

用括号显示优先级是这样的:

(++x) || (++y && ++z)个人觉得,在不影响语意的前提下,把运算过程看成这样∶(1 && ++x) || (++y && ++z)c中对于逻辑或的运算是只要第一个表达式为真,就不会去算后面的表达式了

4楼:

这样分解:++x||++y&&++z , 这个表达式中++x 与 ++y&&++z 两者构成“或”表达式。或表达式中两者有一个为真,表达式即为真。

在c中,对于或表达式,当第一个表达式为真是,就可以认为真个表达式为真,没必要去计算后面的表达式的值。

如果你真的想要知道到底是为什么?计算机为什么要这样做。建议你看看编译原理中的表达式的翻译方案,你就会懂的。

5楼:匿名用户

首先从c语言运算符优先级来看, && 高于||

所以上面表达式相当于 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最后就是(1 || 0)=1

6楼:宋文婷

|答案是c

x>z && y < 'z' || !y把变量替换就是45 > 0 && 'a' < 'z ' || !y45 > 0为真,'a' < 'z' 也为真,所以45 > 0 && 'a' < 'z '为真,变为1 || !

y1与什么值相或都为1,所以答案为1

7楼:匿名用户

||||||运算时把后面的所有表达式当成它右边的一个表达式上面那句等价于++x||(++y&&++z )

且得到x>0后||有边的表达式不会进行运算而直接退出

要达到你说的意思讲表达式修改为(++x||++y)&&++z 即可

8楼:

看来你对优先级的理解有点问题。优先并不决定运算顺序,它的实质是结合

性,是说++是与y结合在一起而不是和||结合在一起;前面的++也是与x结合在一起。而||是连接(++x)和(++y)运算符而不是连接x和++的运算符。c/c++中表达式的运算顺序一律从左至右!

9楼:匿名用户

++x 已经为true了

10楼:匿名用户

||号,是第一个条件满足就不管第二个条件,所以不做++y。

11楼:反叛的神明

原题=++x || (++y && ++z)++级运算高 =++x || 1 = 1||1=1

请问c语言t=++x||++y&&++z这句话是什么意思?

12楼:秋天

c++x||++y&&++z

++x = 2 , ++y = 2 , ++z = 1(++x||++y)&&++z,可以来

这样来分源,前面因为++x=2 所以扩号的值bai是1

1&&++z = 1&&1=1

这些都是逻辑判du断,不要去理会具体zhi等于多少,只要dao看它等于0还是等于1就可以了

c++中x y z是什么意思,C++中z = x>y ? x : y;是什么意思

1楼 匿名用户 赋值号 比较运算符 根据c 运算符优先级。 相当于x y z c 中z x y x y 是什么意思 2楼 匿名用户 是三元运算符,整个表达式根据条件返回不同的值,如果x y为真则返回x,如果为假则返回y,之后 赋值给z。相当于 if x y z x else z y 3楼 森林式大学...

C语言中zyx是什么意思,C语言中z=x>y?x:y是什么意思?

1楼 三天打鱼 x 1y 3 z 5z y 条件成立 返回1 然后用返回的值跟后面的x比较 1 x 条件不成立 返回0 所以结果是0 要合并两个逻辑 应该用 与运算符 写为 z y y x 2楼 现实梦幻者 这是真假判断 先z y 5 3为真,结果是1 再 1 x 为假,结果是0 c语言中z x y...

C语言中x+y 2是什么意思啊,c语言中x+=++y是什么意思

1楼 匿名用户 x y 2 就相当于 x x y 2 是c中提供的一个自变运算符,其左右两边的数据分别叫左操作数和右操作数,右操作数可以是表达式,也可以是一个常量,不需要加括号,系统会自动按优先级进行先后运算。如 x a b c 就相当于 x x a b c 相类似的运算符还有很多,如 等 2楼 秋...