问题 单项选择题

有以下程序
#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配对原则,本题中的层次关系是:if(!x)与elseif(x==0)是一组,位于循环的最外层。而if(x)与else是一组,位于else if(x==0)条件的内层。由此可知条件均不成立,所以y未进行任何操作,仍为0。

单项选择题 A1/A2型题
单项选择题