sulley 发表于 2020-2-26 13:16:31

关于数学符号pi(3.1415926......)在C语言中引用的提问

大佬好!我想请问C语言里有类似于Python的里面的引用数学符号的功能吗?我记得在Python里面有一个import(math.pi)就能直接引用pi了。可我在C语言中用了
#include <math.h>之后pi仍然没定义,难道C语言中就不能引用么?只能自己定义pi的具体数值吗?谢谢谢谢谢谢指教!

人造人 发表于 2020-2-26 13:40:38

#include <stdio.h>

#define _USE_MATH_DEFINES
#include <math.h>

int main(void)
{
        printf("%lf\n", M_PI);
        return 0;
}

人造人 发表于 2020-2-26 13:42:18

    #define M_E      2.71828182845904523536   // e
    #define M_LOG2E    1.44269504088896340736   // log2(e)
    #define M_LOG10E   0.434294481903251827651// log10(e)
    #define M_LN2      0.693147180559945309417// ln(2)
    #define M_LN10   2.30258509299404568402   // ln(10)
    #define M_PI       3.14159265358979323846   // pi
    #define M_PI_2   1.57079632679489661923   // pi/2
    #define M_PI_4   0.785398163397448309616// pi/4
    #define M_1_PI   0.318309886183790671538// 1/pi
    #define M_2_PI   0.636619772367581343076// 2/pi
    #define M_2_SQRTPI 1.12837916709551257390   // 2/sqrt(pi)
    #define M_SQRT2    1.41421356237309504880   // sqrt(2)
    #define M_SQRT1_20.707106781186547524401// 1/sqrt(2)

使用这些常量需要添加
#define _USE_MATH_DEFINES
#include <math.h>

sulley 发表于 2020-2-26 14:19:05

谢谢您!承蒙大佬指教。

sulley 发表于 2020-2-26 15:10:30

人造人 发表于 2020-2-26 13:40


#include <stdio.h>

#define _USE_MATH_DEFINES
#include <math.h>

#define C(r) PI*2*r
#define S(r) PI*r*r

int main(void)
{
        float r;
        printf("请输入圆的半径:\n");
        scanf_s("%f\n", &r);
        printf("圆的面积是:%.2f\n圆的周长是:%.2f\n", S(r), C(r));
}
大佬我又回来了,我想请问PI要用什么语法才能运算么,这是我写的代码,我不明白错哪里了,麻烦指教下呗!

人造人 发表于 2020-2-26 15:12:47

sulley 发表于 2020-2-26 15:10
#include

#define _USE_MATH_DEFINES


#include <stdio.h>

#define _USE_MATH_DEFINES
#include <math.h>

int main(void)
{
      printf("%lf\n", M_PI);
      return 0;
}

不是 PI,是 M_PI
有认真看这个程序吗?^_^

sulley 发表于 2020-2-26 15:17:31

人造人 发表于 2020-2-26 15:12
不是 PI,是 M_PI
有认真看这个程序吗?^_^

哦哦,惭愧惭愧!{:10_245:}超级谢谢你!微笑
页: [1]
查看完整版本: 关于数学符号pi(3.1415926......)在C语言中引用的提问