有以下程序: #include void main() {int x=2,y=3; if(!x)y+=3; else if(x==0) if(x)y+=2; else y++; printf(’’%d\n’’,y); } 程序运行后的输出结果是( )。

admin2020-11-27  27

问题 有以下程序:
#include
void main()
{int x=2,y=3;
if(!x)y+=3;
else if(x==0)
if(x)y+=2;
else y++;
printf(’’%d\n’’,y);
}
程序运行后的输出结果是(  )。

选项 A、3
B、2
C、1
D、0

答案A

解析 if一elseilf一else分支结构中的关键考察点是else将与最近的一个if一elself配对。本题串最后的else语句将与紧跟在其前面的if(x)y+=2;语句配对,而这两个语句均在其前面的elself语句作用域内;由于x=1,所以,程序开始的if和elseif语句均不执行,因而,本程度段中的具体赋值语句均未得到执行,运行后输出的y值为初始值。
转载请注明原文地址:https://kaotiyun.com/show/2O3p777K
0

最新回复(0)