Ошибка “NaN” (Not a Number) в языке C возникает, когда в результате математической операции получается неопределенный или непредставимый результат. Это часто происходит при выполнении таких действий, как: Деление на ноль: x / 0.0 Извлечение квадратного корня из отрицательного числа: sqrt(-1.0) Логарифм отрицательного числа или нуля: log(-1.0) или log(0.0) Операции с бесконечностями: inf — inf Как исправить NaN в C: Избегайте деления на ноль: Перед делением убедитесь, что делитель не равен нулю. Используйте условные операторы (if) для проверки: 2. #include 3. 4. int main() { 5. double x = 10.0; 6. double y = 0.0; 7. 8. if (y != 0.0) { 9. double result = x / y; 10. printf("Результат: %f\n", result); 11. } else { 12. printf("Ошибка: деление на ноль!\n"); 13. } 14. 15. return 0; 16. } Избегайте квадратного корня из отрицательных чисел: Перед использованием sqrt() убедитесь, что аргумент неотрицательный: 18. #include 19. #include 20. 21. int main() { 22. double x = -1.0; 23. 24. if (x >= 0.