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

admin2010-01-10  12

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

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

答案4

解析 在本程序的for循环中,用到了一个continue语句,continue语句的作用是停止本次循环,不执行循环体内continue语句后面的其他语句,继续下次循环的条件判断。首先在for循环中n自加1(值变为1),然后执行后面的if语句,由于if语句后面括号的表达式1%3!=0的值为真,程序执行continue语句,回到for循环的开始部分,并且判断for循环中的条件表达式(n<k)为真,重复执行“n++;”语句,如此循环直到n=3时,if语句判定条件中表达式3%3!=0的值为假,程序执行if语句后面的“k--;”语句,此时k的值为3,不满足n<k,退出for循环。故最后的k和n的值为3和3,选项C符合题意。
转载请注明原文地址:https://kaotiyun.com/show/lUWp777K
0

最新回复(0)