Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Почему у функции scanf_s в Visual Studio при использовании “%s” прекращается работа в языке Си

#c #visual_cpp #visual_studio_2013


Почему у функции scanf_s в Visual Studio 2013 при использовании "%s" прекращается
работа в языке Си .

char name[40];
scanf_s("%s", name);


Тут, когда в консоли ввёл данные, нажимаю энтер, и вижу сообщение "Прекращение работы".
    


Ответы

Ответ 1



Потому что scanf_s требует указания размера всех передаваемых ей буферов. scanf_s("%s", name, 40);

Ответ 2



Надо указать параметр _countof (имя переменной куда считываешь), например: scanf_s("%s",&name,_countof(name));

Комментариев нет:

Отправить комментарий