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

admin2020-07-28  25

问题 若有以下程序
#include
main()
{  int a=1,b=2,c=3,d=4, r=0;
if (a!=1) ; else r=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/Hm3p777K
0

最新回复(0)