若有条件表达式(exp)?x++:y--,则以下表达式中能完全等价于表达式(exp)的是以下的哪个?(A)、 (exp!=1) (B)、 (exp==1) (C)、 (exp==0) (D)、 (exp!=0) 答案可能是D,为什么呢?

问题描述:

若有条件表达式(exp)?x++:y--,则以下表达式中能完全等价于表达式(exp)的是以下的哪个?
(A)、 (exp!=1)
(B)、 (exp==1)
(C)、 (exp==0)
(D)、 (exp!=0)
答案可能是D,为什么呢?

没错,D是正确的.
条件表达式究竟执行那一个,取决于exp的值.
exp的值有两种结果true(非0)或false(0)
exp为true,exp!=0同样为true;
exp为false,exp!=0也为false.
所以选D.
B有一定的迷惑性,exp为true,可能是2,3等等,不一定是1的