在C中实现ceil函数

AGe*_*eek 4 c ceil

我有两个关于ceil()功能的问题..

  1. ceil()功能在C中实现.如果我使用ceil(3/2),它工作正常.但是当我使用时ceil(count/2),如果count的值是3,那么它会给出编译时错误.

    /tmp/ccA4Yj7p.o(.text+0x364):在函数FrontBackSplit': : undefined reference toceil'collect2:ld返回1退出状态

    如何在第二种情况下使用ceil函数?请建议.

  2. 如何在C中实现自己的ceil功能.请提供一些基本指导.

谢谢.

小智 5

试试这个:

#define CEILING_POS(X) ((X-(int)(X)) > 0 ? (int)(X+1) : (int)(X))
#define CEILING_NEG(X) ((X-(int)(X)) < 0 ? (int)(X-1) : (int)(X))
#define CEILING(X) ( ((X) > 0) ? CEILING_POS(X) : CEILING_NEG(X) )
Run Code Online (Sandbox Code Playgroud)

查看链接以获取评论,证明和讨论:http: //www.linuxquestions.org/questions/programming-9/ceiling-function-c-programming-637404/

  • 这对于负值是不正确的:ceiling总是返回大于**的最小整数**或等于给定的参数(对于负数表示朝向零而不是离开). (2认同)