| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:分析下作用域!
只看楼主 加入收藏
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
 问题点数:0 回复次数:3 
分析下作用域!
int i = 100,sum = 0;
for(int i = 0;i != 10;++i)
sum += i;
std::cout << i << "\t" << sum << std::endl;

这段代码是错的,因为i被重定义了。

但是,两次定义i是在不同的作用域中啊。for语句中的i是语句作用域吧,将会覆盖第一次的定义啊,在for语句外输出i应该是个没有定义的i啊?

迷惑了,这是c++ primer上的一道题目,问上面的代码输出是什么?
是书的问题还是我们用的编译器问题,反正上面的代码不能通过编译!
搜索更多相关主题的帖子: 编译器 
2007-03-26 20:58
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 
你用的是VC++编译器吗?如果是就不稀奇了,这样的情形经常遇到。编译器的问题,自己写程序的话不这样写就行了。

try new catch
2007-03-26 21:14
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
果然是编译器的问题!那就好

这个问题只存在于VC吧?

Fight  to win  or  die...
2007-03-26 21:31
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 
我一直都是用的VC++,不知道其他的编译器是怎样的

try new catch
2007-03-26 21:39
快速回复:分析下作用域!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011029 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved