C语言中,a=3,b=4,c=5; a||b+c&&b-c怎么理解?
发布网友
发布时间:2023-06-03 11:16
我来回答
共3个回答
热心网友
时间:2024-11-29 02:05
a=3,b=4,c=5;
这是一条逻辑表达式,只可能有0和1两种取值,非零的时候取1,所以1楼的是不对的。又出现了2类运算符,加减和逻辑运算符,此处+-优先级最高,其次是&&,最低是||,注意同是逻辑运算符优先级不一样。还须注意,按照优先级加括号:
a
||
b
+
c
&&
b
-
c
=a
||
((b
+
c)
&&
(b
-
c))
=3
||
((4
+
5)
&&
(4
-
5))
=3
||
1
=1
每对一个逻辑算符运算,得到的值都是非0即1,整个逻辑表达式的计算相当于将其分解成几个子式进行计算。
以后有问题欢迎HI我
热心网友
时间:2024-11-29 02:05
a>b>c
是两个关系运算,从左到右顺序运算。
首先
,
a>b
为真,在c语言中,用数值1表示真,再跟后面的c比较,
1>c
即
1>3
为假。
热心网友
时间:2024-11-29 02:05
a
||
b
+
c
&&
b
-
c
=
a
||
((b
+
c)
&&
(b
-
c))
=
3
||
((4
+
5)
&&
(4
-
5))
=
3
||
1
=
1
按照优先级,先加减运算,后逻辑运算
而逻辑运算的几个操作数都是非0的,可以认为是1
因此最终结果为逻辑1