若有以下程序 #include main() {inta=1,b=2,c=3,d=4,r=0; if(a!=1);elser=1; if(b==2)r+=2; else;if(c!=3)r+=3; else;if(d==4)r+=4; printf("%d

admin2020-07-28  10

问题 若有以下程序
#include
main()
{inta=1,b=2,c=3,d=4,r=0;
if(a!=1);elser=1;
if(b==2)r+=2;
else;if(c!=3)r+=3;
else;if(d==4)r+=4;
printf("%d\n",r);
}
则程序的输出结果是

选项 A、10
B、7
C、6
D、3

答案B

解析 else总是和与之最近的上面的if配对,执行第一个if,判断条件不成立,执行else r=1;语句。再执行第二个if语句中的判断条件,成立,左移执行r+=2,r的值为3,再执行第三个if的判断条件,不成立执行第7行else后面的空语句";"。再执行第四个if的判断条件d==4成立,执行r+=4,r的值为7。然后打印输出。
转载请注明原文地址:https://kaotiyun.com/show/V13p777K
0

最新回复(0)