单选题 有以下程序:
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,就理解成语句组只有一条语句,编译将是正确的。