在C中使用powf()函数时出错

时间:2018-03-24 15:13:18

标签: c

我写了这个C代码来找到3平方的值。

#include <stdio.h>
#include <math.h>
int main( void )
{
    float a;
    a = powf( 3, 2 );
    printf( "\n%f\n", a );
    return 0;
}

即使在终端命令中包含implicit declaration of function 'powf'库和math.h,我也会收到警告-lm

gcc -o test.exe -ansi -Wall test.c -lm

如果有帮助,我的gcc版本是4.2.2。

2 个答案:

答案 0 :(得分:7)

在C99中添加了

powf。选项-ansi相当于-std=c89。您需要使用-std=c99标志。

gcc -o test.exe -std=c99 -Wall test.c -lm

答案 1 :(得分:4)

问题是-ansi参数。这相当于-std=c90

正如noalerts所述,您需要使用-std=c99