A-A+
下列程序的运行结果是()。#includevoid main{int s=
问题详情
下列程序的运行结果是()。
#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),执行case6;直接跳出循环,k--变成5,继续循环switch(5),执行case5后面的语句s+=2,也相当于s=s+2,此时s为3,break跳出,k变为4,继续循环,执行case4为空,继续执行case7;s++为4跳出循环,k--变为3,继续循环,执行case3,空语句往下执行case6,跳出,k--为2,继续循环,执行case2;空语句往下执行case3,空语句再执行case7,跳出循环,k--为1不符合循环,退出,此时S=4。