首先我们来看看 (int) 强制类型转换:
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = (int)(-1.9);
int b = (int)(1.9);
printf("%d\n%d\n", a, b);
return 0;
}
int 是将数值绝对值的小数部分去掉,再取同样的正负号。所以根据输入浮点数的正负性,可以得到四舍五入函数:
int func(float x)
{
if(x > 0.0)
return (int)(x + 0.5);
else
return (int)(x - 0.5);
}