单选题 下列程序的运行结果是______。
#include<stdio.11>
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);
}
【正确答案】 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,继续循环,执行case4为空,继续执行case 7;s++为4跳出循环,k--变为3,继续循环,执行case 3,空语句往下执行case 6,跳出,k--为2,继续循环,执行case 2;空语句往下执行case 3,空语句再执行case 7,跳出循环,k--为1不符合循环,退出,此时s=4。