linux c语言round函数,c语言round函数使用问题

round 是实现四舍五入的函数,但我在使用的时候遇到点问题,编译器一直报错undefined reference to `round'

半天都找不到原因,终于搞清楚了,记在这里,供遇到相同问题的朋友参考。

首先给出函数原型

double round(

double x

);

float round(

float x

); // C++ only

long double round(

long double x

); // C++ only

float roundf(

float x

);

long double roundl(

long double x

);

使用示例

// crt_round.c

// Build with: cl /W3 /Tc crt_round.c

// This example displays the rounded results of

// the floating-point values 2.499999, -2.499999,

// 2.8, -2.8, 2.5 and -2.5.

#include

#include

int main( void )

{

double x = 2.499999;

float y = 2.8f;

long double z = 2.5;

printf("round(%f) is %.0f\n", x, round(x));

printf("round(%f) is %.0f\n", -x, round(-x));

printf("roundf(%f) is %.0f\n", y, roundf(y));

printf("roundf(%f) is %.0f\n", -y, roundf(-y));

printf("roundl(%Lf) is %.0Lf\n", z, roundl(z));

printf("roundl(%Lf) is %.0Lf\n", -z, roundl(-z));

}

输出

round(2.499999) is 2

round(-2.499999) is -2

roundf(2.800000) is 3

roundf(-2.800000) is -3

roundl(2.500000) is 3

roundl(-2.500000) is -3

但是我自己在用这个函数的时候出现问题:

编译器报错  undefined reference to `round'

在stack overflow上面查了一下,原来是因为没有把数学库添加进去。

a847cf420621d302966eeada08222026.png

d6fdefc058c6e65119f0b104d9b3f806.png

如图,在cmake中添加这个库就可以了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值