有如下程序: main() 。 { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++;}

admin2009-02-15  20

问题 有如下程序:    main()    。    {  int x=1,a=0,b=0;       switch(x)       {  case 0:b++;          case 1:a++;          case 2:a++;b++;}       printf("a=%d,b=%d\n",a,b);}    该程序的输出结果是

选项 A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2,b=2

答案1

解析 该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从casel后面的语句开始执行,又因为case 1后面的语句没有以break结束,所以程序要继续往下执行Case2后面的语句。所以,该程序共执行了这三条语句:a++;a++;b++;因此,变量a和b最后的值应该为2和1。
转载请注明原文地址:https://kaotiyun.com/show/UxXp777K
0

最新回复(0)