问题
单项选择题
有以下程序:
main()
int k=5, n=0;
while(k>0);
switch(k)
default; break;
case 1:n+=k;
case 2;
case 3:n+=k;
k--;
printf("% d\n", n);
程序运行后的输出结果是______。
A.0
B.4
C.6
D.7
答案
参考答案:D
解析: 当k为4、5时,n值没有变化。当k=3时,满足case 3,得到n=3;当k=2时,满足case 2,因为没有break语句,继续执行case 3得n=n+2=5;当k=1时,满足case 1,得n=6,又因为没有break,继续执行case 2,case 3,最后得n=7。