我正在尝试过滤用户给出的浮点数并找到其中的最大数字。但是,我一直收到错误:
错误:二进制%的操作数无效(有'浮动'和' int')
我已经阅读过其他论坛,告诉我们fmod函数,我如何应用一段简单的代码,我只想找到浮点数的剩余部分?
答案 0 :(得分:1)
使用fmod
功能(Ideone example):
#include <math.h>
#include <stdio.h>
int main(void) {
float val = 19.3;
int div = 2;
printf("%f\n", fmod(val, div));
return 0;
}
答案 1 :(得分:1)
%运算符仅适用于整数之间,因为为了生成整数商,需要整数除法。改为使用:
double remainder = fmod(arg1, arg2);