有以下程序  #include<stdio.h>  main()  {   int s=0,i;   for(i=1;i<5;i++)   {   switch(i)   {   case 0;   case 3:S+

admin2022-04-02  19

问题 有以下程序
 #include<stdio.h>
 main()
 {
   int s=0,i;
   for(i=1;i<5;i++)
   {
     switch(i)
     {
       case 0;
       case 3:S+=2;
       case 1:
       case 2:s+=3:
       default:s+=5;
     }
   }
   printf("%d\n",s);
 }
 程序运行后的输出结果是(          )。

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

答案D

解析 程序首先定义整型变量s和i,对s赋初值为0。for循环中i的取值为1,2,3,4,另外在switch语句中,执行各个分支后,若没有break语句,会继续执行后续分支。当i=1时,switch语句执行case 1,case 2和default,将s自增3后再自增5,此时s的值为8;当i=2时,switch语句执行case 2,deflault,将s自增3后再自增5,此时s的值为16;当i=3时,switch语句执行case 3,case 1,case 2,default,将s逐步自增2,自增3,自增5,此时s的值为26;当i=4时,switch语句执行default语句,将s自增5,此时s的值为31。本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/mQkp777K
0

最新回复(0)