小编CSn*_*ewb的帖子

如何使用Math.h中的M_LN2

我试图使用math.h库中的常量M_LN2,但似乎总是遇到编译器错误.代码是:

#include <stdio.h>
#include <math.h>

int main(){

double x = M_LN2;
printf("%e",x);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

在ubuntu上用gcc编译

gcc -std=c99 lntester.c -o lntester -lm
Run Code Online (Sandbox Code Playgroud)

获得输出:

error: 'M_LN2' undeclared 
Run Code Online (Sandbox Code Playgroud)

任何帮助理解为什么会发生这种情况将不胜感激.

如下所述,if def未定义,使用gcc和c99导致问题.下面是解决问题的编译代码,允许我使用c99.

gcc -std=c99 -D_GNU_SOURCE lntested.c -o lntester -lm
Run Code Online (Sandbox Code Playgroud)

c constants c99 math.h

3
推荐指数
1
解决办法
2148
查看次数

标签 统计

c ×1

c99 ×1

constants ×1

math.h ×1