for(k=0,m=1;m<4;m++) { for(n=1;n<5;n++) if(m*n%3==0)continue; k++; }

最后输出的k是多少,原理是怎么样的,看不懂啊==。

输出k=3
for(n=1;n<5;n++) if(m*n%3==0)continue;

这个循环倘若满足if中的条件,则会continue,continue就是正常执行循环的下一次迭代
可是就算是不满足if条件,循环按照默认也是继续执行下一次迭代
所以这个for莫名其妙根本没用,原程序其实就是
for(k=0,m=1;m<4;m++)

k++;
这个循环执行3次,每次k加1,最后k为3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-04

k 就是外循环的次数 内循环的那个continue那句话毫无意义,为不为0都是跳不出循环的,迷惑性质

所以k是3 就是4-1

用编译器验证了一下

第2个回答  2013-01-04
输出结果K=3
相似回答