【发布时间】:2021-03-29 21:06:31
【问题描述】:
#include <stdio.h>
int arredonda (double x)
{
int arredondado;
if (x - (int)x >= 0.5)
arredondado = (int)x + 1;
else
arredondado = (int)x;
return arredondado;
}
int main()
{
double num;
scanf("%f", &num);
printf("%d", arredonda(num));
return 0;
}
这是一个根据小数部分将数字向上或向下舍入的函数。问题是它总是返回 0 和所有值。
【问题讨论】:
-
贴出的代码编译不干净!以下是编译器消息:untitled2.c:16:13: 警告:格式“%f”需要“浮点 *”类型的参数,但参数 2 的类型为“双 *”[-Wformat=]
标签: c