while((c= getchar()) != '\n' && c != EOF);
Я столкнулся с проблемой при использовании get () для ввода строк. Я обнаружил в Google, что он сохраняет значение ‘\ n’ во входном буфере. Я искал здесь и нашел приведенный выше код, чтобы решить мою проблему. Однако я не совсем понимаю это. Что это делает ?? Кто-нибудь, пожалуйста, просветите меня.
Присвоение в C ++ также даст присваиваемое значение. Так c= getchar()
читает следующий символ из файла, и (c= getchar()) != '\n'
сравнивает этот прочитанный символ с символом новой строки. Есть еще один тест для специального EOF
значение, чтобы убедиться, что он не пытается читать, как только вы достигнете конца файла.
Там нет заявления между while
и заключительная точка с запятой, потому что больше ничего не нужно делать, вы отбрасываете ввод.
Код вводит while
-loop. Его условие выхода назначает целое число c
значение, которое getchar()
возвращает и проверяет, равен ли он символу новой строки ('\n'
) или же EOF
, Если это так, цикл завершается. Если это не так, извлекается следующий символ и так далее.
Код в основном пропускает все символы до следующей новой строки или EOF
достигнуто Это эквивалентно:
for (;;)
{
c = getchar(); // c has been declared elsewhere
if (c == '\n' || c == EOF)
break;
}