全部问题 > 当前问题

这个题目中 在一个源文件中 全局变量被蒙蔽是什么意思 这里的源文件是什么 有几个


こ薄荷′绿 2016-9-10 14:39:23

共 2 个回答

初一 2016-9-10 15:17:49

我现在是手机登陆 不知道有没有图 先说全局变量蒙蔽是什么意思 当全局变量和局部变量同名 遇到局部变量就屏蔽全局变量 源文件就一个

最佳答案

初一 2016-9-10 15:47:30

看到程序了 就是本程序中  fun1 函数中 a b 是形参 5 和 6   fun2 函数中对 全局变量赋值  3 4   最后输出的也就是  3 4


 这个答案解析有点问题  本程序中   全局变量被屏蔽 体现在 fun1 函数的形参 a b  和全局变量同名  这里屏蔽全部变量 显示的是局部变量 

问题来自: 形参和实参
有以下程序:
#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);
}
程序运行后的输出结果是 ______ 。
A. 1256
B. 5634
C. 5612
D. 3456
答案:B
解析:fun1输出的是形参a、b,所以输出56;fun2赋值的是全局变量a、b,在一个源文件中,全局变量被“屏蔽”,所以最后输出34。连在一起是5634。因此选B。