c - 二进制 % 的无效操作数(有 float 和 float )

标签 c modulo

下面是我的代码:

#include <stdio.h>

int main ( )   
{
    float a = 5,b = 2;    
    int c,d;    
    c = a % b;
    d = a/2;    
    printf("%d\n",d);    
    return 0;
}

当我尝试编译它时,我得到了

"Invalid operands to binary %"

在第 6 行。我该如何解决这个问题?

最佳答案

 c = a % b;

您不能将 float 用作 % 运算符的操作数。

改用 math.h 中的 fmod

double a=5,b=2,c;
c=fmod(a,b);                 // it returns double

关于c - 二进制 % 的无效操作数(有 float 和 float ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758350/

相关文章:

sequence - 使用正数和负数重复以 -1 到 1 为模的数字

c - 如何在设备上运行 ARM 应用程序?

c - 如何正确格式化输出?

c - INT_MIN % -1 会产生未定义的行为吗?

将 int 转换为 char C 公式

javascript - 执行模运算的其他方法

javascript - 如何在 Javascript 中获取 MOD 以正确返回小数?

c - C 中的链表太慢

C 中的 crypt() 函数不起作用

c - 如何将 LKM(可加载内核模块)链接到静态或动态库?