我用C语言编写了一个简单的有关收银机流量的代码,但是我总是收到“浮点异常”。我知道,它发生在溢出并被零除的情况下,但是我认为在这种情况下,这些都不包含。这是代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int kassza[32] = {0};
int a;
int ossz = 0;
scanf("%d", &a);
printf("meg ok");
while (a != 0)
{
kassza[a - 1]++;
ossz++;
scanf("%d", &a);
}
int max = 0;
for (int a = 1; a < 32; a++)
{
if (kassza[a] > kassza[max])
{
max = a;
}
}
printf("%d. kassza: %d %%-a az osszes vevonek\n", max + 1, kassza[max], kassza[max] / (ossz / 100));
return 0;
}
所以idk为什么会这样,请帮助我!
答案 0 :(得分:0)
由于kassza[max] / (ossz / 100)
和ossz < 100
,代码导致被零除。
在这种情况下,ossz/100
->由于整数除法而为0,然后kassza[max] / 0
被零除。
整数除以0通常被报告为浮点异常。