外部函数的问题(C语言)

来源:百度知道 编辑:UC知道 时间:2024/06/21 11:58:03
文件1代码为:#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",A,b,c);
d=power(m);
printf('%d*%d=%d\n",A,m,d);}
文件2为:exter A;
int power(int n){
int i,y=1;
for(i=1;i<=n;i++)
y*=A;
return(y);}
我想问这两个文件会发生函数调用吗?
文件1,文件2是2个文件,为什么不能运行?
将上面的代码放在一个。c文件却能运行,能解释下吗?

可以。
printf('%d*%d=%d\n",A,m,d);} --> printf("%d*%d=%d\n",A,m,d);}
exter int A; --> extern int A;
====================================
程序 a1.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",A,b,c);
d=power(m);
printf("%d*%d=%d\n",A,m,d);
}
程序 a2.c
extern int A;
int power(int n){
int i,y=1;
for(i=1;i<=n;i++)
y*=A;
return(y);}
==================
编译
(1) 生成 a1.obj, a2.obj
cl a1.c -c
cl a2.c -c
(2) 链接 生成 a1.exe
cl a1.obj a2.obj
运行
a1.exe

文件一中的main调用文件二中的power函数。