关于在多文件的程序中声明外部变量的问题
文件一(file1.c):#include<stdio.h>
int A;
void main()
{
int power(int);
int b=3,c,d,m;
printf("enter the number a and its power m:\n");
scanf("%d,%d",&A,&m);
c=A*b;
printf("%d*%d=%d\n",A,b,c);
d=power(m);
printf("%d**%d=%d\n",A,m,d);
}
文件二(file2.c):
extern A;
int power(int n)
{
int i,y=1;
for(i=1;i<=n;i++)
y*=A;
return(y);
}
以上文件放在同一个工程下可以正确编译运行,但是如果我把int A的定义放在主函数中,也就是把int A从全局变量变成了主函数的局部变量,这个时候程序不能正确运行。
问题:是不是在多文件的程序中声明外部变量,这个外部变量一定要是以全局变量的方式存在?教科书上好像没有明确说明,希望大侠指点~