问题
单项选择题
有下列程序:
main()
int k=5,n=0;
do
switch(k)
case 1: case 3:n+=1;k--;break;
default:n=0;k--;
case2: case 4;n+=2;k--;break;
printf("%d",n);
while(k>0&&n<5);
程序运行后的输出结果是( )。
A.235
B.0235
C.02356
D.2356
答案
参考答案:B
解析: 因为变量的初始值分别为k=5,n=0,所以程序第1次进入循环时,执行default语句,输出0,k减1:这时n=0,k=4,程序进行第2次循环,执行case 4:这个分支,结果是n=2,k=3,打印出2;这时n=2,k=3,程序进行第3次循环,执行case 3:这个分支,结果是 n=3,k=2,打印出3;这时n=3,k=2,程序然后进行第4次循环,执行case 2:case 4:这个分支,结果是n=5,k=1,打印出5,这时因为n=5不满足n<5的循环条件,因此退出循环,程序运行结束。所以在屏幕上打印出的结果是0235。