C语言关于计算问题,急啊

来源:百度知道 编辑:UC知道 时间:2024/07/03 11:23:54
2、设a=5,b=4,c=3,则表达式 !(a+b)+c-1&&b+c/2 的值为 B
A) 0 B)1 C)2 D)3

是怎么得出结果的啊,大哥大姐帮我分析一下好不

分成两部分 &&左边一部分 右边一部分
先算左边 !(5+4)+3-1=!9+2=2 非零 所以算右边
4+3/2=4+1=5 也非零 所以进行&&运算后 非零 即1

另外注意 如果&&左边的为0,那么&&右边的表达式或语句是不会被执行的

!(a+b)为0,再+c为3,-1为2,&&b先不执行,因为他的优先权没有+大,所以就运行后面的,b+c/2 为5,2&&5就为1,

(a+b)=9
!9=0
0+c=3
3-1=2

c/2=1
b+c/2=2

2&&2=1

我同意上面回答