Изучение C (через K&R) с использованием xcode
Я учу C на языке программирования C (K&R).
Поскольку я не особенно хочу переключаться между текстовым редактором и запуском gcc, я решил использовать xcode в качестве IDE. До сих пор я мог без проблем следовать примерам книги до раздела 1.5.2.
Когда дана действительная (?) Программа...
#include <stdio.h>
void main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
... Я не получаю окончательного результата, говорящего мне, сколько символов было в моем вводе. Я ввожу свои данные через консольное окно xcode.
После некоторой отладки похоже, что моя программа застревает в цикле while и никогда не встречает токен EOF. Чтобы приспособиться к этому, я вместо этого заменил символ новой строки как новое условие, заменив EOF
с "\n"
, который также ничего не делает и дает мне предупреждение сравнения INT с указателем.
Что я здесь не так делаю?
Смогу ли я следить за K & R, используя xcode?
1 ответ
Тип ^D
(контроль-D), чтобы отправить EOF
,
Если вы хотите перейти на новую строку, вам нужно сравнить возвращаемое значение getchar
в '\n'
не "\n"
, Бывший фактический char
значение новой строки; последний является указателем на символ с этим значением. Если это еще не имеет смысла для вас, не волнуйтесь, как только вы прочитаете больше.