#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;
}
這個代碼的結(jié)果為什么是
1? 5
2? 5
3? 5
3
為什么會有5輸出,k為什么是3?
2 回答
已采納

打編輯的草稿
TA貢獻2條經(jīng)驗 獲得超4個贊
這里的兩個for與一個continue很容易引起錯誤理解;我們知道continue語句是為了跳過一次for循環(huán),但這里是哪一個for呢?毫無疑問是里面的for循環(huán):
for(n=1;n<5;n++) ????if(m*n%3==0)continue;
這個時候跳過這個循環(huán)有什么影響呢?答案是:P影響都沒有,因為continue后面沒有這個for循環(huán)的語句了,而
?cout<<m<<"??"<<n<<endl; ??k++;
是第一個for循環(huán)的語句。所以里面for循環(huán)的作用就是將n從1遍歷到5,這時候再輸出m,n;之后k++;總共三次這樣的循環(huán),所以是以上結(jié)果。
添加回答
舉報
0/150
提交
取消