c++对for循环语句的迭代变量自动设置默认值1,是gcc优化的结果呢,还是某种新标准
int main()
{
int n = 10;
for (int i; i < n; i++)
{
cout << i;
}
int s;
cout << endl << s << endl;
for (int i, j; i < n; i++)
{
cout << i <<' ' << j;
}
return 0;
}
可以看到,两个for循环的迭代变量 i, j 均未初始化,但是实际测验发现,编译可以通过,而且第一个for循环可以得到正确的值。
然而,第二个for循环则不会这样,根据调试结果,i的值在进入for 循环时为16