魔兽世界网络带宽0:c语言试题

来源:百度文库 编辑:高考问答 时间:2024/04/29 16:39:47
【2.20】下面程序的输出结果是____。
main()
{ int k=0;
char c='A';
do
{ switch(c++)
{ case 'A': k++;break;
case 'B': k--;
case 'C': k+=2;break;
case 'D': k=k%2;contiue;
case 'E': k=k+10;break;
default: k=k/3;
}
k++;
}while(c<'C') ;
printf("k=%d\n",k);
}
A) k=1 B) k=2 C) k=3 D) k=4

参考答案D
请分析此程序的运行过程。谢谢

c++还是A,所以k++两次,此时k为2;
c++后c为B,小于C,再次循环
k--后,k为1;
因为没有break,所以继续执行k+=2;所以k为3;
在出循环前又执行一次k++,所以最后k为4
因为c为C,所以不再循环