2017-03-27 15 views
0

所以基本上,我需要得到一个输入并将其平方。某些原因pow()功能不起作用。C电源功能和scanf

#include <stdio.h> 
#include <math.h> 
int main(){ 

    int in, ans; 
    scans("%d", &in); 
    ans = pow(in, 2); 
    printf("answer is: %d", ans); 
    return 0; 

} 

的错误是:当你忘了你的程序链接到数学库发生

undefined pow or something like that

+8

答案是,'显示确切的错误信息',或类似 – pm100

+0

假设链接器错误?很难说,当我们没有一个确切的错误信息。总是可以用'in in'来表示它。 –

+0

我强烈建议通过将输入乘以它自己来平方,特别是因为它是一个整数,并且答案(显然)是适合整数的。 'ans = in * in;' –

回答

2

这种类型的错误。
使用-lm链接到数学库。

gcc yourfilename.c -lm

使用数学库

0

我想你已经在Linux平台上编译。因此,使用命令-lm选项。

gcc yourfile.c -lm 
0

您正在使用scans代替scanf。它应该scanf("%d",&in);

+0

对..但这可能是一个错字.... –