首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

变量的作用域有关问题

2012-04-14 
变量的作用域问题C/C++ code#include iostreamusing namespace stdint main(){for (int i 3 ){prin

变量的作用域问题

C/C++ code
#include <iostream>using namespace std;int main(){    for (int i = 3; ;)    {        printf("%d\n", i);        break;    } // i的作用域在该for循环内    for (int i = 4; ;) // 上个的作用域已经结束了,怎么还有重复定义??    {        printf("%d\n", i);        break;    }    return 0;}


[解决办法]
作用域结束了,所以就能再定义了。
[解决办法]
有些比较老的编译器可能会有这个问题,i出了循环后还有效
[解决办法]
探讨

作用域结束了,所以就能再定义了。

[解决办法]
i是for循环下的局部变量,当退出for循环时,for循环下的局部变量自然也消失了。所以第二个i跟第一个i一点关系都没有。当然,以上的都是C/C++里的标准,只有遵守标准的编译器才是正确的。现在新的编译器遵守标准方面都很不错了。
这个问题是C里面很简单的问题,如果认真将C/C++的教材看过一遍的,估计都不会有这个疑惑。建议找本教材好好看看。

热点排行