C语言 若有条件表达式(exp)?a++:b++,则以下表达式中能完全等价于表达式(exp)的是:

2025-03-04 03:22:27
推荐回答(4个)
回答1:

(exp)?a++:b++;的意思是如果(exp)的逻辑值是非0,就执行a++,(exp)的逻辑值是0就执行b++;
对a (exp==0)替换的话,(exp)为0时应该执行b++,但(exp==0)就为真,逻辑值是1,执行的是a++;
b c d 按同样的道理分析,所以选b

回答2:

B
C语言中,0为假,不为0时都是真,虽然0做逻辑反得到1,但是所有不为0的数的逻辑反都是0,所以这里等价的是(exp!=0) 即表示(exp) 意思是 若exp为真时 ...
exp为真时并不是说exp等于1是,要明白C中的 “真” 表示的 是 “不为0的”

回答3:

B:(exp!=0) C:(exp==1) D:(exp!=1) 我是初学者,请说明理由。。。谢谢。。。

回答4:

B