首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++全局变量和局部变量

C++全局变量和局部变量
EN

Stack Overflow用户
提问于 2014-03-30 09:32:29
回答 7查看 1.3K关注 0票数 1

我遇到了以下代码:

代码语言:javascript
复制
#include<iostream>
using namespace std;
int i = 1;
int main(int argc,char ** argv)
{
    int i = i;
    cout<<i<<endl; // which i?
    return 0;
}

它可以通过编译,但给出错误的答案,如何解释这一点?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-03-30 09:38:34

局部变量是可访问的,类似于调用两个同名的人,一个在房间里,一个在房间外面。在你试图访问它的范围内的人,听到它。

票数 2
EN

Stack Overflow用户

发布于 2014-03-30 09:40:32

int i = i;语句在main()中声明了一个隐藏全局变量的局部变量。

它用自己初始化自己(它有一个不确定的值)。因此,全局i根本不被使用。

票数 6
EN

Stack Overflow用户

发布于 2014-03-30 09:35:17

最内部作用域中的变量将在没有警告的情况下覆盖同名变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22742396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档