fgets(STDIN)
- считывает строку из стандартного ввода (клавиатура в вашем случае).
trim
- удаляет все пробелы, окружающие пользовательский ввод.Поэтому, если пользователь вводит ' y'
или 'y '
, он будет преобразован в 'y'
strncasecmp
- пользователь может ввести в верхнем регистре Y
или в нижнем регистре y
, эту функциюпоможет вам сравнить регистронезависимый способ.Также эта функция возвращает 0
, если сравнение прошло успешно, а затем вы используете !
(не оператор), который меняет 0
на 1
, так что тест if
проходит.
Вы можете переписать это как:
if(strncasecmp(trim(fgets(STDIN)),'y',1) == 0)