啊哈磊_编程从这里起步

标题: 关于全局变量和局部变量的优先顺序解析 [打印本页]

作者: Dear    时间: 2016-2-18 21:50
标题: 关于全局变量和局部变量的优先顺序解析
如题 先上代码
[mw_shl_code=c,true]#include <stdio.h>
int a=1;
int main()
{
        int a=0;
        printf("%d",a);
        return 0;
} [/mw_shl_code]

上面这个代码的运行结果是0

因为在全局变量中 虽然相同的全局变量不能重复定义  但是却可以定义与全局变量同名的局部变量

例如上面的

全局变量a=1         局部变量a=0

当定义与全局变量同名的局部变量时

全局变量会暂时失效

这就可以解释为什么打印出来的结果是0了

本人也是新手 希望有帮助

虽然代码简短 但在以后做小项目时定义全部变量 与 局部变量时 防止冲突是很重要的(因为这个编译器并不会报错)

作者: rosynirvana    时间: 2016-2-21 19:15
不止是全局和局部
某个作用域内再定义一个变量,总是会屏蔽上层作用域的同名变量
作者: 邀请码    时间: 2016-2-21 19:19
rosynirvana 发表于 2016-2-21 19:15
不止是全局和局部
某个作用域内再定义一个变量,总是会屏蔽上层作用域的同名变量

rosynirvana大神回来了~!




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2