这是我的代码:
for(int x=1;x<=5;x++) {
for(int x=0;x<=1;x+=1) {
cout<<"###############"<<endl;
}
}
为什么它会像这样打印10行:
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
如果我单独运行每个循环,它将为第一个循环打印5行,为第二个循环打印2行。这2个循环如何一起运行?
答案 0 :(得分:0)
尝试添加一些诊断打印语句:
for(int x=1;x<=5;x++)
{
cout << "--> x before inner loop" << x << endl;
for(int x=0;x<=1;x+=1)
{
cout << "--> x in inner loop" << x << endl;
cout<<"###############"<<endl;
}
}
答案 1 :(得分:0)
for(int x=1;x<=5;x++)
{
for(int x=0;x<=1;x+=1)
{
cout<<"###############"<<endl;
}
}
想一想:假设你每天写2行并且你继续做5天的工作,那么到那时你会写10行。
如果你在想为什么它不应该是5或7,那是因为第3行的int x=0
"hides"是外x
,所以两个变量{{1}彼此是孤立的,他们不会发生冲突。