下列程序的运行结果是( )。 #inelude void main() {int s=0,k; for(k=7;k>1;k--) {switch(k) {case 1:

admin2012-12-03  23

问题 下列程序的运行结果是(    )。
    #inelude
    void main()
    {int s=0,k;
      for(k=7;k>1;k--)
      {switch(k)
        {case 1:
        case 4:
        case 7:
           s++;
           break;
        case 2:
        case 3:
        case 6:break;
        case 0:
        case 5:
            s+=2;
            break;
   }}
   printf("s=%d",s);
   }

选项 A、s=3
B、s=4
C、s=5
D、无输出结果

答案B

解析 运行程序,当k=7时switch(7)执行case:7,s++后s=1,break跳出。k--,k=7继续循环switch(6),执行case 6;直接跳出循环,k--变成5,继续循环switch(5),执行case 5后面的语句s+=2,也相当于s=s+2,此时s为3,break跳出,k变为4,继续循环,执行case 4为空.继续执行case 7;s++为4 跳出循环,k--变为3,继续循环,执行case 3,空语句住下执行case 6,跳出,k--为2,继缕循环,执行cane 2;宅语句往下执行case 3,空语句再执行case 7,跳出循环,k--为1不符合循环,退出,此时s=4。
转载请注明原文地址:https://kaotiyun.com/show/JrPp777K
0

最新回复(0)