20210601-C++常错题

1.若已有定义:int a=2,b=3,c=4;则表达式!(a+b)-c+1||c+b/2的值是

20210601-C++常错题_第1张图片
上述可看做 A || B。 A = !(a+b) - c+1 , B=c+b/2
左边的式子 为 A = ! (2+3) - 4+1 。 2+3=5 不为 0是真(结果值为1),所以 ! (2+3) = !1 是 0 。
则 A = 0-4+1 = -3 不为 0是真(结果值为1),即左半部分(A)结果为1,右半部分可不计算则返回值为true 。

右边的式子 为 B=c+b/2 。B= 4+3/2=5 (值为真,所以结果值为1)。 即右半部分(B)结果为1,左半部分可不计算则返回值为true 。
选D。 属于 A =1, B=1,则 A || B = 1 || 1 = 1。 则表达式的值是 1。

知识点有:
1.逻辑只有真假,是0即假,非0即真࿱

你可能感兴趣的:(c++)