在我的程序中,我需要总是得到大于参数的最接近的整数值。为此,我使用C ceil()
函数。 问题是它总是返回数字,我不期待。C ceil()函数返回奇怪的数字
E.g.
double num = 1/25.0; // num is correctly 0.04(some 0s)1
ceil(num); // ceil returns 1018
早些时候在我的节目我打电话srand(time(NULL))
,所以我想也许这有事情做与它和我评论它,但它并没有帮助。
当我调用像这样的函数ceil(0.040000001)
时,它也返回1018。 即使我用文档中的参数调用函数,它也有这种奇怪的行为。
示例程序
//#include <stdio.h>
//#include <stdlib.h>
int main() {
//double var = 1/25.0;
double num1 = ceil(1.6); // returns 1023
return 0;
}
我们需要一个[mcve] – tkausl
*您如何检查返回值? – UnholySheep
你是否包含math.h?如果没有正确的原型C假定'int ceil(int);' –