答:能,局部会屏蔽全局。要用全局变量,需要使用"::"
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内
#include "iostream"
#include<stdlib.h>
using namespace std;
int a = 0;
void test_value()
{
int a = 1;
cout << "强龙(全局变量)压不过地头蛇(局部变量) " << a << endl;
cout <<"使用::屏蔽全局变量 "<<::a << endl;
}
int main()
{
test_value();
system("pause");
return 0;
}
以下是输出结果: