c语言编程出现错误“invalid operands of types 'float' and 'int' to binary 'operator %”
这是因为求余运算符%要求左边的数是整数,但是把一个float类型的数放在%左边进行运算,就会报以上错误。下面看具体例子:
#include <stdio.h>
int main ()
{int s;
float f,x,s,a,y;
x=2.5,y=4.7,a=7;
s= (int)(x+y);
f=x+(a%3)*(s%2)/4;
printf("f=%f\n",f);
return 0;
}
以上代码中a被定义为float类型,第7行就会报错标题中的错误。修改正确也很简单,就是把a定义为int类型:
#include <stdio.h>
int main ()
{int a=7,s;
float f,x,y;
x=2.5,y=4.7;
s= (int)(x+y);
f=x+(a%3)*(s%2)/4;
printf("f=%f\n",f);
return 0;
}
谢谢各位看完文章,有疑问或者补充或者建议,可站内联系我。
本文解析了在C语言中使用浮点数(float)与整数(int)进行求余运算时的错误,并提供了代码实例。通过将float型变量转换为int解决该问题,同时介绍了为何这种操作会导致错误。



6万+

被折叠的 条评论
为什么被折叠?



