Ошибка Visual Studio в C, необработанное исключение в 0xfefefefe
Я учусь писать на C в Visual Studio, и вот мой код,
#include<stdio.h>
int main() {
char me[20];
printf("What is your name?");
scanf_s("%s", me);
printf("darn glad to meet you, %s!\n", me);
return(0);
}
Теперь, после ввода всего этого, я получаю сообщение об ошибке "Необработанное исключение в 0xFEFEFEFE в Project14.exe: 0xC00001A5: Обнаружена недопустимая процедура обработчика исключений (параметры: 0x00000003)"
1 ответ
Вы используете scanf_s()
неправильно. Описанный в MSDN способ scanf_s("%s", me, sizeof me);
Также вы действительно должны проверить возвращаемое значение функции
if (scanf_s("%s", me, (unsigned)sizeof me) != 1) /* error */;
Также обратите внимание, что описание MSDN и описание стандарта C11 имеют только незначительные различия, за исключением того, что MSDN не информирует вас о том, что эта функция является необязательной для реализаций, соответствующих стандарту. Если вы намереваетесь запустить свой код не в Windows, вы можете добавить проверки на наличие функции или использовать какой-либо другой способ получения пользовательского ввода.
#ifdef __STDC_LIB_EXT1__
// use Annex K functions at will
#else
// do not use Annex K functions
#endif