在函数内当局部变量与全局变量重名时,处理规则是怎样的?

 我来答
gaonahouzhe
2011-08-05 · TA获得超过193个赞
知道答主
回答量:52
采纳率:0%
帮助的人:84.5万
展开全部
首先,变量包括两个方面,类型和名称。比如
double d = 0;
void f() {
int d = 5;
double b = d; //全局变量,因此全局变量的类型更匹配
}
这种情况两个d是可以区别的,因此b最后是使用全局变量d进行赋值。
其次,如果局部变量和全局变量的类型与名称完全一致,在局部变量定义的有效域中,局部变量将覆盖全局变量。直到退出局部变量定义域,全局变量的定义才又重新可见。比如:
double d = 0;
void f() {
double b = d; //还是全局变量,因为局部变量仍然没有定义
{
double d = 9.0; // 局部变量
b = d; //全局变量被覆盖,开始引用局部变量
}
b = d; // 局部变量的作用域已经退出,因此此处引用全局变量
}
surplushaode
2011-08-05 · TA获得超过2055个赞
知道大有可为答主
回答量:2510
采纳率:0%
帮助的人:2359万
展开全部
使用局部变量了。。这个时候全局变量是不会起作用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2010060120
2011-08-05 · TA获得超过321个赞
知道答主
回答量:203
采纳率:0%
帮助的人:166万
展开全部
当全局的透明;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式