浮点数据不能直接求余数[Error] invalid operands of types 'double' and 'double' to binary 'operator%'


原谅我基础没学好
今天在做题的时候要用到求余数,因为之前一直都是整数求余数,可以用%来运算。这次我觉得也可以直接算,我一试,发现我太天真了
!!!
代码如下------------------------------------

#include<stdio.h>
int main()
{
	double a;
	a=11.1%1.0;
	printf("a=%f",a);
	return 0;
}

结果就是报错了

标题[Error] invalid operands of types ‘double’ and ‘double’ to binary ‘operator%’

翻译如下:类型“double”和“double”到二进制“操作符%”的无效操作数

我就非常纳闷呐
然后就查
重点来了

%号取余数一般用于整型之间即–>整型%整型=整型
所以对于浮点型数的求余数目前不能直接用一个符号来实现

如果懒得算的话,也不是没有快速算法
可以通过调用函数来直接实现

fmodf用于float型变量操作

fmod用于double型变量操作

modl用于long double型变量操作

以下以fmod举例


//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
    double f=3.3,q=2.2;
    printf("%f\n",fmod(f,q));
    return 0;
}

不过一般做题的时候不建议调用函数,还是自己老老实实算算吧 >-<

  • 28
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值