continue语句

#include "iostream.h"
int main()
{
int k,m,n;
for(k=0,m=1;m<4;m++)
{for(n=1;n<5;n++)
  if(m*n%3==0)continue;
  cout<<m<<"  "<<n<<endl;
  k++;
}
cout<<k;
}

这个代码的结果为什么是
1  5
2  5
3  5
3

为什么会有5输出,k为什么是3?

高阶攻城师
浏览 1960回答 2
2回答

打编辑的草稿

这里的两个for与一个continue很容易引起错误理解;我们知道continue语句是为了跳过一次for循环,但这里是哪一个for呢?毫无疑问是里面的for循环:for(n=1;n<5;n++)     if(m*n%3==0)continue;这个时候跳过这个循环有什么影响呢?答案是:P影响都没有,因为continue后面没有这个for循环的语句了,而 cout<<m<<"  "<<n<<endl;   k++;是第一个for循环的语句。所以里面for循环的作用就是将n从1遍历到5,这时候再输出m,n;之后k++;总共三次这样的循环,所以是以上结果。

jfhdibrbfjd

这就需要你多练多想
打开App,查看更多内容
随时随地看视频慕课网APP