[英]Floating point exception C. Why?
我在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;
}
所以,為什么這個,請幫助我!
由於kassza[max] / (ossz / 100)
和ossz < 100
代碼導致零ossz < 100
。
在那種情況下,由於整數除法, ossz/100
- > 0然后kassza[max] / 0
除以零。
整數除以0通常(錯誤地)報告為浮點異常 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.