gpt4 book ai didi

variables - 在循环中和循环前声明变量有什么区别?

转载 作者:行者123 更新时间:2023-12-01 07:47:49 24 4
gpt4 key购买 nike

看这个例子:

int i;
for (i=1;i.......

和这个:
for (int i=1;i........

它们之间有什么区别?

最佳答案

第一个在循环外的范围内声明变量;循环结束后,该变量仍将存在并可使用。第二个声明变量,使其属于循环范围;循环后,变量不再存在,防止变量被无意/错误地使用。

在 C99、C++、Java 和其他类似的语言中,您会发现主要是第二种语法,因为它更安全——循环索引属于循环,不会在其他地方修改/共享。但是,您会在较旧的 C 代码中看到很多前者,因为 ANSI C 不允许像这样在循环中声明循环变量。

举个例子:

int i;
// ... lots of stuff
for ( i = 0; i < 5; i++ ){
printf("%d\n",i); // can access i; prints value of i
}
printf("%d\n",i); // can access i; prints 5

相比之下:
for (int i = 0; i < 5; i++ ){
std::cout << i << std::endl; // can access i; prints value of i
}
std::cout << i << std::endl; // compiler error... i not in this scope

关于variables - 在循环中和循环前声明变量有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com