问题 单项选择题

有以下程序:
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) 0,1,2,0
B) 0,0,0,3
C) 1,1,2,0
D) 编译有错

答案

参考答案:D

解析: if中的语句组包含两条语句,但是没有花括号,所以编译有错。如果这个时候没有else,就理解成语句组只有一条语句,编译将是正确的。

单项选择题
选择题