问题 单项选择题

有以下程序: #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。

填空题
多项选择题