Можно ли обрабатывать исключения несоответствия типа данных в C?Как обрабатывать исключение несоответствия типа данных в C
В C++ и других языках более высокого уровня код обычно окружен try ... catch. Однако, поскольку в C нет механизма обработки исключений, как мы обрабатываем исключения несоответствия типа данных?
Например, предположим, что у меня есть программа, которая требует, чтобы пользователь вводил целое число. Если пользователь ошибочно попадает в буквенный символ, программа вылетает из строя. Как я могу позаботиться об этом в C?
Вот некоторые примеры кода:
#include "stdafx.h"
void main()
{
int x = 0;
printf("Hello World!\n\n");
printf("Please enter an integer: ");
scanf("%d", &x);
printf("\n");
printf("The integer entered is %d", x);
printf("\n\n");
printf("Press any key to exit!");
getchar();
getchar();
}
Проверка ошибок? Если ваша программа выйдет из строя на недопустимом входе, вы просто недостаточно проверяете ее. – Mat
Может ли кто-нибудь дать мне пример, пожалуйста? Я совершенно новичок в языке программирования C. – Matthew
Это совсем не C. Там, наверное, прим. четверть базиллиона примеров проверки возвращаемых значений функций, доступных в Интернете. – Mat