C语言,求过程,选啥?

36.有以下程序
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

要明白两个要点 while循环 和switch语句。

过程如下:

当k=5,执行default: break;此时n变为0

k=4,执行default: break;此时n变为0

k=3,执行case3: n+= k;即n=n+k=3

k=2,先执行case2: 再执行case3: n+=k;即n=3+2=5

k=1,执行case1: n+= k; case2: case3: n+= k;

即n=5+1=6;再继续n=6+1=7

k=0时,k不满足条件,此时退出循环,

输出n=7

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-12

选d

追答

不懂请追问

相似回答