单选题 有以下程序
#include <stdio.h>
main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0)
if(x) y+=2;
else y+=3;
printf("%d/n",y);
}
程序运行后的输出结果是______。
  • A.3
  • B.2
  • C.1
  • D.0
【正确答案】 D
【答案解析】[解析] 在if else语句中else总是与离它最近的if配对。本题目中x为1,因此“!x”为0,所以执行else if语句中的内容,判断“x==0”是否成立,因为x为1,所以条件不成立,因此else if内部的“if...else”语句不再执行,所以y的值还是初始值0。