Как получить Nan в си
Задача следующая: на си написать арифметическое выражение, содержащее только конечные числа типа double и четыре действия арифметики так, чтобы результат был равен NaN. В выражении не должно быть нулей, включая промежуточные результаты вычисления
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
#include <stdio.h>
int main() {
double nan = (1e200 / 1e-200) / (1e200 / 1e-200);
printf("nan is %lf\n", nan);
printf("nan == nan is %d\n", nan == nan);
}
$ gcc -O2 -std=c11 -pedantic -Wall -Wextra -Werror -Wwrite-strings -Wconversion temp.c $ ./a.out nan is -nan nan == nan is 0