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

admin2009-01-15  26

问题 有以下程序:    main()    {  int k=4,n=0;       for(;n<k;)       {    n++;            if(n%!=0)continue;            k--;  }       printf("%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://jikaoti.com/ti/j6K0FFFM
0

最新回复(0)