C/C++错误集锦(DEV-C++):求余运算时提示[Error] invalid operands of types ‘int’ and ‘double’ to binary ‘operator%’

原文链接:http://www.juzicode.com/cpp-error-invalid-operands-of-types-int-and-double-to-binary-operator-mod

错误提示:

 求余运算时提示[Error] invalid operands of types ‘int’ and ‘double’ to binary ‘operator%’

//VX:桔子code / juzicode.com
#include "stdio.h"
int main()
{
    int a = 5;
    a %= 3.0;
    printf("a=%d\n",a);
    return 0;
} 

错误原因:

1、第6行求余运算时,被除数为3.0,是一个浮点类型的数值,浮点数值不可以参与求余运算。

  

解决方法:

1、将第6行的3.0改为3,转换为int类型:

//VX:桔子code / juzicode.com
#include "stdio.h"
int main()
{
    int a = 5;
    //a %= 3.0;
    a %= 3;
    printf("a=%d\n",a);
    return 0;
} 

2、如果是变量类型,可以根据实际情况强制转换为int类型:

//VX:桔子code / juzicode.com
#include "stdio.h"
int main()
{
    int a = 5;
    double b = 3.0;
    a %= int(b);//强制类型转换
    printf("a=%d\n",a);
    return 0;
} 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注