若变量已正确定义并赋值,则下列条件语句中,功能与其他语句不同的是(A)if(a) printf("%d\n",x); else printf("%d\n",y);(B)if(a==0) printf("%d\n",y); else printf("%d\n",x);(C)if(a!=0) printf("%d\n",x); else printf("%d\n",y);(D)if(a==0) printf("%d\n",x); else printf("%d\n",y);为什么是D?

问题描述:

若变量已正确定义并赋值,则下列条件语句中,功能与其他语句不同的是
(A)if(a) printf("%d\n",x); else printf("%d\n",y);
(B)if(a==0) printf("%d\n",y); else printf("%d\n",x);
(C)if(a!=0) printf("%d\n",x); else printf("%d\n",y);
(D)if(a==0) printf("%d\n",x); else printf("%d\n",y);
为什么是D?

只要a不为零,则A执行 printf("%d\n",x); // if中的语句 B执行 printf("%d\n",x); // else中的语句 C执行 printf("%d\n",x); // if中的语句 ...