逻辑表达式a||b+c&&b-c的值为什么是1?(a=3,b=4,c=5)

a||b+c&&b-c
化为
3或9与-1
怎么就变成1了?

一、逻辑运算符的优先级
在C程序设计语言中,三个逻辑运算符的运算优先级按从高到低的顺序是:
(1) ! (逻辑非)
(2) && (逻辑与
(3) || (逻辑或

二、分析过程
a || b+c && b-c
等价于
a || (b+c && b-c)

三、运算过程分解
已知a、b、c的值分别是3、4、5
计算表达式的值的步骤是:
(1)计算“b + c”的值是 9 ;
(2)计算“b - c”的值是 -1 ;
(3)计算“(b+c && b-c)”的值,等价于计算“9 && -1”,即为 1 ;
(4)计算“a || b+c && b-c”的值,等价于计算“3 || 1”,即为 1 。

故最终整个表达式的值是 1 。
温馨提示:答案为网友推荐,仅供参考