有以下程序 main() { int k=5,n=0; do { switch(k) { case 1: case 3: n+=1; k--; break; default: n=0; k--; case 2: case 4: n+=2; k--; br

admin2019-08-10  21

问题 有以下程序
main() {
int k=5,n=0;
do {
switch(k) {
case 1: case 3: n+=1; k--; break;
default: n=0; k--;
case 2: case 4: n+=2; k--; break; }
printf("%d",n); }
while(k>0 && n<5)}
运行以后的输出结果是

选项 A、0235
B、235
C、02356
D、2356

答案B

解析 因为变量的初始值分别为k=5,n=0,所以程序第1次进入循环时,执行default语句,n=0,k=4,没有break语句,因此执行case 2 分支语句,n为2,k为3,程序进行第2次循环,执行case 3 :n=3,k=2,输出n值为3,程序进行第3次循环,执行case 3这个分支,结果是n=5,k=1,打印出5;这时因为n=5不满足n<5的循环条件,因此退出循环,程序运行结束。
转载请注明原文地址:https://jikaoti.com/ti/iCf0FFFM
0

最新回复(0)