有如下程序: main() { int k=4, n=0; for(; n<k; ) { n++; if(n% 3!=0)continue; k--; } printf("

admin2010-09-05  28

问题 有如下程序:    main()    {          int k=4, n=0;    for(; n<k; )    {          n++;    if(n% 3!=0)continue;    k--;    }    printf(" % d, % d\n", k, n);    程序运行后的输出结果是______。

选项 A、1, 1
B、2, 2
C、3, 3
D、4, 4

答案C

解析 continue语句是结束本次循环。
   for循环语句的执行过程为:
   第1次循环:循环前n=0,执行n++得n=1,n%3!=0成立,执行continue语句结束本次循环,k=4;
   第2次循环:循环前n=1,执行n++得n=2,n%3!=0成立,执行continue语句结束本次循环,k=4;
   第3次循环;循环前n=2,执行n++得n=3,n%3!=0不成立,执行语句k--得k=3;n<k不成立,结束整个for循环。
   所以执行完for循环后k=3、n=3,正确答案为选项C。
转载请注明原文地址:https://kaotiyun.com/show/GKWp777K
0

最新回复(0)