问题
单项选择题
下列程序的运行结果是( )。
#include<stdio.h>
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,继续循环执行case 2:空语句往下执行case 3,空语句再执行case 7跳出循环k--为1不符合循环退出,此时s=4。