有以下程序:
#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) 1,1,2,0
B) 0,0,0,3
C) 编译有错
D) 0,1,2,0
是if(a=1)出错了,应该是if(a==1)
有括号的话,if语句控制{}里面的所有语句,没括号的话,if语句只控制最近的一行。每句代码以分号 ; 分隔开来。
c=2隔开了if和else,编译错误
为啥?
【解析】本题中if(a=1)b=1...
用户登录可进行刷题及查看答案
【解析】本题中if(a=1)b=1;与else d=3; 之间多了语句c=2;所以会出现else语句的位置错误的编译失败提示。
登录后提交答案