Су ... Я видел, как парень утверждал, что этот код работал над другим вопросом.Полезный контекст scanf (...)! = EOF
while(scanf("%X", &hex) != EOF) {
//perform a task with the hex value.
}
Итак, в каком контексте выброшен флаг EOF? Я, хотя он просто будет просить номер на неопределенный срок. Я добавил еще одну строку кода, чтобы проверить ее, и она делает именно то, что я ожидал от нее.
Это не файл, это похоже на stdin. Итак ... КОГДА этот код полезен?
Т.е., в каком контексте возвращен возврат EOF?
Я думаю, что если вы нажмете ctrl-D, вы можете получить EOF ... – Floris
См. [Этот более ранний вопрос] (http://stackoverflow.com/questions/11944314/ctrl-d-didnt-stop-the-whilegetchar -eof-loop) – Floris
'EOF' - это не флаг, который был брошен. Это макрос, который расширяется до постоянного выражения типа 'int', обычно' (-1) '. 'scanf' возвращает значение' EOF', если это определено стандартом. –