首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C中使用某些运算符和操作数运行程序时出错

在C中使用某些运算符和操作数运行程序时出错
EN

Stack Overflow用户
提问于 2015-08-23 05:41:47
回答 5查看 73关注 0票数 3

我试图运行一个程序,但它显示了一个错误:

无效二进制运算符浮点到int

当我试着做float时,它说:

无效二进制操作符浮点到浮动

问题在于%算子及其操作数。

请告诉我该怎么做?

代码语言:javascript
运行
复制
#include <stdio.h>
int main()
{
    float x,y;
    scanf("%f%f",&x,&y);
    float z=x%5.0f;
    if(x<=y && z==0)
        printf("%.2f",y-x-0.50);
    else if (x>y || z!=0)
            printf("%.2f",y);
    return 0;
 }
EN

回答 5

Stack Overflow用户

发布于 2015-08-23 05:45:28

%只对整数有意义,因为它被定义为整数除法中的余数。你不能用浮点数做整数除法。

票数 4
EN

Stack Overflow用户

发布于 2015-08-23 05:47:13

模算子不适用于浮子。您可能希望使用fmod函数:

http://www.cplusplus.com/reference/cmath/fmod/

票数 4
EN

Stack Overflow用户

发布于 2015-08-23 06:02:00

请注意,%操作符不适用于float。相反,您需要为您的需求使用fmod()

代码语言:javascript
运行
复制
double fmod(double numerator, double denominator);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32163567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档