二进制的操作数无效(有浮点数和浮点数)

时间:2014-09-28 14:09:34

标签: c

#include <stdio.h>
#include <math.h>
int main()
{
    float n,f;
    printf("n too:");
    scanf("%f",&n);
    f=sqrt(n);
    f=n%f;
    printf("%f",f);
    return(0);
}

这是我的代码。但是我在第9行得到了“无效操作数到二进制(有浮动和浮动)”错误。

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

%的操作数必须是整数类型。您应该使用库函数fmod

C11:7.12.10.1 fmod函数

  

概要

#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
     

描述

     

fmod函数计算x/y的浮点余数。