У меня проблема с сравнениями с использованием getchar() и перенаправления файлов.Сравнение getchar с символом возвращает предупреждение и дает мне неправильный код
У меня есть код, который напоминает это:
char result = getchar(); // getchar returns the next char in the file
int linecount = 0;
if (result == "\n") {
linecount++;
}
Но я получаю предупреждение при компиляции. В нем говорится, что я не могу сравнивать int с указателем, но из моего понимания результат - это char, и поэтому это «\ n», поэтому я действительно запутался. Я также могу использовать printf («% c», result »), и он отлично работает, подразумевая, что результатом является char. Кто-нибудь знает, почему я получаю эту ошибку? Спасибо! Также, запустив код, linecount всегда будет возвращать 0 даже если первый символ в файле, который я использую в качестве моего ввода, является символом новой строки.
'' \ n "' -> '' \ n''. Период. –
О, а также 'char result' ->' int result' –
Действительно 'getchar' возвращает' int', который вы назначаете 'char', а затем сравниваете с' char * '. –