以下程序的输出结果是 main() { int a=0,i; for(i=1;i<5;i++) { switch(i) {case0: case3:a+=2; case 1:

admin2013-02-23  28

问题 以下程序的输出结果是    main()    { int a=0,i;      for(i=1;i<5;i++)      { switch(i)        {case0:         case3:a+=2;         case 1:         case2:a+=3;         default:a+=5;      }    }      printf(“%d\n”,A) ;    }

选项 A、31
B、13
C、10
D、20

答案1

解析 switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行该case分支的语句。如果在该语句的后面没有break语句,则按顺序继续执行下一个case分支,直到遇到break语句或switch多分支语句结束,在 switch语句中,break语句的作用是使流程跳出switch结构,终止switch语句的执行。在本题中,因为每个case语句后面都没有break语句,所以,第一轮循环(i==1)执行过后a的值为8,第2轮(i==2)执行过后a的值为16,第3轮(i==3)执行过后a的值为26,第4轮(i==4)执行过后a的值为31,然后执行“i++”语句,这时循环条件为假,循环结束。
转载请注明原文地址:https://jikaoti.com/ti/M4B0FFFM
0

最新回复(0)