有下列程序: 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

admin2013-02-23  13

问题 有下列程序:    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>O&&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的循环条件,因此退出循环,程序运行结束。所以在屏幕上打印
转载请注明原文地址:https://kaotiyun.com/show/i1Jp777K
0

最新回复(0)