LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Внезапно, на сях/расте при переполнении вещественных чисел ты так же получишь +Inf

#include <stdio.h>
#include <fenv.h>

int main(void)
{
  feenableexcept(FE_ALL_EXCEPT);

  float x = 10.0;
  x = 10.0 - x;
  x = x / x;
  printf("%f\n", x);
  return 0;
}
$ ./a.out
Исключение в операции с плавающей точкой

Причем тут вещественные числа, когда разговор идет об переполнении целочисленных?

А почему должно быть исключение? Ну давай тогда и int исключим, останется только unsigned который совершенно законно переполняется в С.

Исходная версия MOPKOBKA, :

Внезапно, на сях/расте при переполнении вещественных чисел ты так же получишь +Inf

#include <stdio.h>
#include <fenv.h>

int main(void)
{
  feenableexcept(FE_ALL_EXCEPT);

  float x = 10.0;
  x = 10.0 - x;
  x = x / x;
  printf("%f\n", x);
  return 0;
}
$ ./a.out
Исключение в операции с плавающей точкой