命名变量在main外面 ??

#include <iostream>

using namespace std;

int a,b;

void f()
{
int a;
a = 1;
b = 4;
}

int main(int argc, char* argv[])
{

a = 6;
b = 11;
cout << a << " " << b << endl;

f();
cout << a << " " << b << endl;

return 0;
}

第1个回答  推荐于2016-09-03
在C/C++中,变量是需要命名的。

在main()函数之外定义的变量,称为全局变量。main()是程序执行的入口。
全局变量好比是始终存在的东西。
局部变量是指在有限范围内存在的东西。
这个有限范围可能是函数内部,也可能是某个语句内部,往往是从其使用位置往上往外找,找到定义开始的位置,在对应的{}范围就是其作用域(存在范围,生命周期,等等说法都是一个意思)。

例子里,main()函数的a, b,在main()外面定义,属于全局变量,就是说可以在任何地方使用。
但f()函数内部的a,可以在f()函数内部找到int a的定义。因此,这个a是局部变量,而不是全局变量的那个a.而b由于在f()内部无法找到定义,因此,b是全局变量。

所以,程序输出大致如下:
6 11
6 4本回答被提问者采纳
相似回答