全部问题 > 当前问题

全局变屏蔽是定义一个函数再赋值吗

#include <stdio.h>
int a=1,b=2;
void fun1(int a, int b)
{ printf("%d%d",a,b); }
void fun2()
{ a=3; b=4; }
main()
{ fun1(5,6); fun2();
  printf("%d%d\n",a,b);
}

飘落的共和国旗 2016-8-5 12:23:47

共 3 个回答

嘿嘿大人 2016-8-9 21:11:30

全局屏蔽的意思是在自定义函数里面重新定义了在外部定义过的变量名,所以在这个自定义函数里面就存在全局变量被屏蔽的情况

飘落的共和国旗 2016-8-10 09:50:22

回复 嘿嘿大人:也就是这个自定义函数屏蔽了 全局变量,屏蔽作用于自定义函数以后执行的所有地方

嘿嘿大人 2016-8-10 23:25:36

回复 飘落的共和国旗:不是,是自定义函数里面重新定义了之后才能屏蔽,而且也只能屏蔽自定义函数范围内的变量,出了自定义函数就不能屏蔽了

问题来自: 形参和实参