#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<10;i++)
{
for(int i=0;i<10;i++)
{
cout<<"* ";
}
cout<<"\n";
}
return 0;
}
这段代码可以成功打出10x10的“ * ”号
而且我调试的时候发现嵌套在里面的那个for循环,当i=9时执行完大括号中的内容后,不会执行i++,结果仍然是9,然后给到外面的for循环i=9,让外面的for循环进行i++
除此之外,外面的for循环执行到第10次,明明里面的循环给他的i=9满足条件,他也不会进行i++操作,而是直接把i=9输出,进入return 0,结束程序
#include<iostream>
using namespace std;
int main()
{
int i=0;
for(i=0;i<10;i++)
{
for(i=0;i<10;i++)
{
cout<<"* ";
}
cout<<"\n";
}
return 0;
}
这段代码就只能输出一排“ * ”
为什么定义在内和在外有这种差别呢