单选题
有以下程序:
#nelude
main()
{int a=0,b=0,C=0,d=0;
if(a=1)b=1;c=2;
else d=3;
pfintf(''%d,%d,%d,%d\n'',a,b,c,d);
}
程序运行后的输出结果是( )。
【正确答案】
C
【答案解析】解析:if语句只执行后面的一个语句或一个用大括号包括的程序段。本题中if语句中的条件若为真,则只执行b=1;这一条语句,后面的c=2是一个和if分支结构无关的语句,因此,再后面的else语句便成为一个独立的语句,因为前面没有if分支与其对应,因此会在编译过程中出错。如果改成if(a=1){b=1;c=2}elsed=3:则编译正确。