求指点,调用函数中出现主函数已有的变量
首先拜个晚年。我是个无任何基础的初学者,用的是吕凤翥的《c++语言程序设计》,课后习题里有这么一段代码:#include<iostream.h>
int a;
void main()
{
int b=2;;;
cout<<a<<','<<b<<endl;
{
int b;
static int a=5;
cout<<a<<','<<endl;
a=10;
b=10;
cout<<a<<endl;
}
b=8;
cout<<a<<','<<b<<endl;
}
在VC++上实验等效于下面一段代码:
#include<iostream.h>
int a;
void fun();
void main()
{
int b=2;
cout<<a<<','<<b<<endl;
fun();
b=8;
cout<<a<<','<<b<<endl;
}
void fun()
{
int b;
static int a=5;
cout<<a<<','<<endl;
a=10;
b=10;
cout<<a<<endl;
}
我不明白的是:在同一个源文件中a如何能定义两次,而且还是两种不同的存储类。很是困惑,请高人帮我指点下迷津。