C语言:下列条件语句中,功能和其他语句不同的是?

img


不懂就问为什么是D ?!
我觉得他们长得都差不多哇!
求详细解答!

A.意思是如果a等于0,输出y
B.如果a等于0,输出y,反之输出x
C.如果a不等于0,输出x,反之输出y,
D.如果a等于0,输出x,反之输出y

if(a) 直接判断a=1;
if(a==0) 判断a==0;
if(a!=0) 判断多个位,比如a=0xf0也算a!=0;
ABC功能是输出一样,都是a=0输出y, a=1输出x,所以选择D没有问题。