目录
Visual?studio?2019
Win?10
运行下面的程序,观察变量x、y的值。
#include<iostream>
using namespace std;
void fn1();//函数的声明
int x = 1, y = 1;//全局变量
int main() {
cout << "Begin..." << endl;
cout << "x=" << x << endl;
cout << "y=" << y << endl;
cout << "Evaluate x and y in main()..." << endl;
int x = 10, y = 20;//局部模块的同名变量,全局变量不可见
cout << "x=" << x << endl;
cout << "y=" << y << endl;
cout << "Step into fn1()..." << endl;
fn1();//调用函数,离开了局部模块,全局变量重新生效
cout << "Back in main" << endl;
cout << "x=" << x << endl;
cout << "y=" << y << endl;
return 0;
}
void fn1()//函数的实现
{
int y = 200;//又定义了一个局部变量
cout << "x=" << x << endl;
cout << "y=" << y << endl;
}
实验结果:
实验总结:?
如果在两个或多个具有包含关系的作用域中声明了同名标识符,则外层标识符在内层不可见。