现在的位置: 首页 > 综合 > 正文

学习笔记-for循环中声明的变量的作用域

2012年01月29日 ⁄ 综合 ⁄ 共 641字 ⁄ 字号 评论关闭

以前,在for循环中声明的变量的作用域为外层语句块,ANSI标准(ANSI的维基百科)做了修改,规定这些变量的作用域为for循环本身的语句块,但并非所有的编译器都支持这种改变.

我们测试一下C++是否支持这个修改;

#include <iostream>
using namespace std;
int main()
{
int j=1;
for(int i=0;i<2;i++)
{
j++;
}
cout<<"i="<<i<<endl;

int n;//为了不让屏幕一闪而消失
cin>>n;
return 0;
}
1>------ 已启动生成: 项目: Person, 配置: Debug Win32 ------
1>正在编译...
1>main.cpp
1>g:\学习\vs2008project\person\person\main.cpp(18) : error C2065: “i”: 未声明的标识符
1>生成日志保存在“file://g:\学习\VS2008Project\Person\Person\Debug\BuildLog.htm”
1>Person - 1 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

编译不能通过,说i还没声明定义,所以说C++支持这个修改.其他编程语言可以自行测试

 

作者: 林羽飞扬
出处:http://www.cnblogs.com/zhengyuhong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留作者信息,且在文章页面明显位置给出原文连接。

抱歉!评论已关闭.