Изменить: для моего класса я должен использовать scanf
. Поэтому рекомендовать другие способы ввода — это не то решение, которое я ищу (если есть такое, которое включает scanf).
Если я читаю пользовательский ввод для небольшого проекта (например, игры). Допустим, я спрашиваю would you like to play?
. Это примет ответ yes
или no
. Итак, я пишу такой простой код:
#include <stdio.h>
int main(void)
{
char string[3]; //The max number of letters for "yes".
printf("Would you like to play?");
scanf("%s", string);
}
Таким образом, этот код должен просто попросить их ввести yes
или no
. Я устанавливаю длину моего char array
на размер 3
. Таким образом, он достаточно большой, чтобы вместить yes
, а также no
. Но если кто-то введет недопустимый ввод, такой как yesss
, я знаю, как впоследствии сравнить строку, чтобы обработать такое событие, но не будет ли это технически/возможно перезаписывать другие локальные переменные, которые я объявил, потому что они выходят за пределы длины моего множество? Если да, то есть ли способ справиться с этим, чтобы ограничить 3 входных символа или что-то в этом роде? А если нет, то почему/как он знает, что нужно вводить только размер 3?
scanf
имеет встроенную функцию. - person chris   schedule 06.09.2012