有以下程序: main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; }while(!i); n++; }

admin2009-04-15  30

问题 有以下程序:    main()    {  int  i,n=0;    for(i=2;i<5;i++)    {  do    {  if(i%3)  continue;    n++;    }while(!i);     n++;    }    printf("n=%d\n",n);    }    程序执行后的输出结果是(  )。

选项 A、n=5
B、n=2
C、n=3
D、n=4

答案8

解析 for循环当i=2时,执行do循环。由于if表达式的条件为真,执行continue语句,结束本次循环,判断while循环条件为假,故退出while循环,执行n++,此时n的值为1。当i=3时,执行do循环,由于if{3%3)为假,执行下面的n++语句,此时n的值为2,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++语句,此时n的值为3。当i=4时,执行do循环。由于if(4%3)为真,执行continue语句,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++,此时n的值为4。当i=5时,退出for循环,因此最后输出的n值为4。所以,4个选项中选项D符合题意。
转载请注明原文地址:https://jikaoti.com/ti/s0K0FFFM
0

最新回复(0)