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

admin2022-10-25  29

问题 有以下程序:
     #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语句执行case2、default,将s自增3后再自增5,此时s的值为16;当i=3时,switch语句执行case 3、case 1、case 2、default,将8逐步自增2、自增3、自增5,此时s的值为26;当i=4时,switch语句执行default语句,将s自增5,此时s的值为31。本题答案为D选项。
转载请注明原文地址:https://jikaoti.com/ti/gGd0FFFM
0

最新回复(0)