【发布时间】:2015-12-23 06:47:30
【问题描述】:
我有一个同名的局部变量和一个全局变量。
int var = 10;
int main() {
int var = var;
printf("%d", var);
return 0;
}
运行程序给出以下输出:0
这是为什么呢?
【问题讨论】:
-
本地定义覆盖外部。它在本地范围内。编译器怎么知道哪个是哪个?
-
我想知道您是怎么错过的:“警告:变量 'var' 在其自己的初始化中使用时未初始化”。
-
以及警告:声明会在全局范围内隐藏变量。
标签: c global-variables local-variables