当我在使用float输入时尝试在C中实现“%”运算符时发生了这种情况。 我参加了cs50课程,这是我正在尝试的问题集1的第四个问题。
这是代码
#include <cs50.h>
#include <stdio.h>
int main(void)
{
printf("O hai! How much change is owed?\n");
float x = get_float();
if(x % 0.25 == 0)
{
printf("%.55f\n", x/0.25);
}
else if(x % 0.10 == 0)
{
printf("%.55f\n", x/0.10);
}
else if(x % 0.05 == 0)
{
printf("%.55f\n", x/0.05);
}
else if(x % 0.01 == 0)
{
printf("%.55f\n", x/0.01);
}
}
答案 0 :(得分:0)
模运算符(%)返回除法运算的余数,它仅适用于整数(C等效数据类型int,short,long)。由于您尝试在非整数(浮点数)上执行此操作,因此编译器不允许您编译程序并抛出错误。