全局变量和局部变量是否可以重名(笔试题)

一道笔试题:局部变量能否和全局变量重名?如果能,请说明系统如何处理;如果不能,请说明原因

答案:在程序中如果出现了相同的两个变量,一个是局部变量,一个是全局变量,编译可以通过,但是打印出的值是局部变量的值,如果想打印全局变量的值的话,在全局变量之前加上“::”就可以了。

例子:

#include

using namespace std;

int a;      //定义全局变量

int main()

{

       int a = 3;      //定义局部变量并赋值

       cout<<"a = "<

       ::a = 2;    //给全局变量赋值

      cout<<"a = "<<::a<

}

输出结果为:

a = 3;

a = 2;

你可能感兴趣的:(面试题和笔试题)