为什么ceil在以下代码中返回0.000?

时间:2015-07-17 05:43:49

标签: c

<input type="text" placeholder="Gray Default" >

<select>
  <option>Changed to Gray
  </option>
</select>

虽然我在printf()中使用了%f说明符来表示ceil,但是它打印了0.000000。为什么会这样?

1 个答案:

答案 0 :(得分:1)

floor的返回类型是一个浮点数(在这种情况下为double)。使用"%d"传递未定义的行为

您需要使用%f格式说明符。例如,

#include <stdio.h>
#include<math.h>
int main()
{
  float i = 2.5;
  printf("%f, %f", floor(i), ceil(i));
  return 0;
}

输出

  

2.000000,3000000