选择题
17.
有以下程序:
#include<stdio.h>
main()
{ int a=0,b=0,c=0,d=0;
if(a=1)b=1;c=2;
else d=3;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序运行后的输出结果是______。
A、
编译有错
B、
0,0,0,3
C、
1,1,2,0
D、
0,1,2,0
【正确答案】
A
【答案解析】
C语言中规定else总是和之前与其最近的且不带else的if配对,题目中,if(a=1)b=1;c=2;默认省略的else已经配对了,下一句else没有匹配if,为非法else。另外,if的判断条件a=1是赋值语句,不是判断语句,此处也会产生编译错误。因此,答案为选项A。
提交答案
关闭