C++ 在程序开始时声明int i vs in for循环

C++ 在程序开始时声明int i vs in for循环,c++,C++,在课程开始时声明i有什么区别 int a, b, c, i; for循环中的vs for (int i=0;i<=n;i++)? for(int i=0;i这是一个范围问题。如果在循环之前定义int a,则可以在循环内外使用它。在循环内部定义它时,只能在循环内部使用它 下面是一篇关于 注:除非定义并初始化n变量,否则循环不起作用,这取决于它。如果循环后不需要i(作用域将仅为for循环),则在for循环中声明它。如果在循环后需要它(作用域是您的代码块)然后必须在循环外部和之前声明它。这取

在课程开始时声明i有什么区别

int a, b, c, i;
for循环中的vs

for (int i=0;i<=n;i++)?

for(int i=0;i这是一个范围问题。如果在循环之前定义
int a
,则可以在循环内外使用它。在循环内部定义它时,只能在循环内部使用它

下面是一篇关于


注:除非定义并初始化
n
变量,否则循环不起作用,这取决于它。如果循环后不需要
i
(作用域将仅为for循环),则在for循环中声明它。如果在循环后需要它(作用域是您的代码块)然后必须在循环外部和之前声明它。

这取决于具体情况

大多数情况下,使用它是可以的

for (int i = 0; i <= n; i++) { ... }

当int i在for循环外部声明时,它可以在for循环外部和内部访问,但是当您在循环内部定义它时,它只能在循环内部使用。通常,如果for循环需要它,请在循环内部定义它。

您能定义“程序的开始”吗更清楚地说?我们说的是函数范围/全局范围/等等吗?最小化变量的范围,而不考虑语言。你会有更好的时间。你做的是正确的。变量应该有尽可能小的范围。这有助于保持引用的局部性。我不能告诉你有多少次我看到变量在函数中任何地方从未使用过的函数的开头——它们曾经被使用过,但现在已不再使用了。在有有效且有意义的值放入变量之前,不要声明变量。@mascoj int main(){int a[50][100],n,m,i,j;for(i=1;i a[i][j];}}返回0;}vs int main(){int a[50][100],n,m;for(int i=1;i a[i][j];}}return 0;}@mascoj无法正确格式化它,因为它是一个注释,很抱歉。好的,所以当我不需要在循环后使用i时,它就可以了。谢谢。是的,我知道,这只是一个示例。不过感谢有用的链接!
int i = 0;
for ( ; i <= n && (some other tests); i++ ) { ... }

// Do different things based on the value of i.
if ( i == n+1 )
{
   dothis();
}
else
{
   dothat();
}