刁旭东 2023-05-05 14:24 采纳率: 77.8%
浏览 12
已结题

看别人写的ceil的函数实现发现怎么感觉别人写复杂了呢,那我这么写对不对呢? 心虚


```c
这个函数的原型是


ceil(取不小于参数的最小整型数)

定义函数
double ceil (double x);
函数说明
ceil()会返回不小于参数x的最小整数值,结果以double形态返回。
附加说明
使用GCC编译时请加入-lm。
范例
#include<math.h>
main()
{
double value[ ]={4.8,1.12,-2.2,0};
int i;
for (i=0;value[i]!=0;i++)
printf("%f=>%f\n",value[i],ceil(value[i]));
}
执行
4.800000=>5.000000
1.120000=>2.000000
-2.200000=>-2.000000


请问我这么写有bug吗? 还有个疑问为什么他们不把返回值定义为int呢?

int myceil(double x)
{
    if (x == (int)x)
        return (int)x;

    if (x < 0)
        return (int)x;
    else
        return (int)x+1;
}
  • 写回答

2条回答 默认 最新

  • 於黾 2023-05-05 14:36
    关注

    你没必要写一堆if,直接强制转int就是舍掉小数位
    但ceil不是强制转int,它是在不改变类型的前提下舍掉小数位

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月13日
  • 已采纳回答 5月5日
  • 创建了问题 5月5日

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急