C语言无法解析问题

错误1errorLNK2019:无法解析的外部符号_power,该符号在函数_main中被引用错误2errorLNK1120:1个无法解析的外部命令***********... 错误 1 error LNK2019: 无法解析的外部符号 _power,该符号在函数 _main 中被引用
错误 2 error LNK1120: 1 个无法解析的外部命令
*************************************************以下为源码,使用的是vs2013************************
#include<stdio.h>
double power(double n, int p);
int main(void)
{
double x, xpow;
int exp;
printf("Enter a number and the positive integer power");
printf("to which\nthe number will be raised. Enter q");
printf("to quit.\n");
while (scanf_s("%lf%d", &x, &exp) == 2)
{
xpow = power(x, exp);
printf("%.3g to the power %d is %.5g\n", x, exp, xpow);
printf("Enter next pair of numbers or q to quit.\n");
}
printf("Hope you enjoyed this power trip!\n");
return 0;
getchar();
}
展开
 我来答
百度网友2ebe1e4f3
推荐于2016-06-07 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3280万
展开全部
如果函数power与函数嫌掘圆main不在一个文件中,那散册么第二行芹塌应该写成
extern double power(double n,int p);
追问
有点不明白,能不能详细说下?多谢
追答
double power(double n, int p);

这句是对函数power的声明,但该函数的定义并不在你给的代码中。也就是说,上面的内容如果你保存为一个文件的话,那么此文件中没有power函数的定义,但你却在主函数中调用了它!如果它是库函数,你就要给出它所在的头文件,如果是自定义函数,又不在当前的文件中,那么对当前文件而言它就是外部函数,你必须在当前文件中说明它是外部函数,语法就是上面给出的:
extern double power(double n,int p);
另外,还要在当前文件中用预编译命令把该函数所在的文件包含进来,例如power函数所在的文件名是 abc.c,则预编译命令是
#include
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式