Я использовал printf, но когда я соблюдаю, ничего не появляется - PullRequest
0 голосов
/ 21 мая 2019

Когда я компилирую и запускаю программу, ничего не появляется, я использую кодовые блоки 17.12, пожалуйста, помогите мне.ОТВЕТ: Чтобы отобразить результат printf, вы должны завершить цикл ctrl + z или ctrl + d в зависимости от того, используете ли вы windows или linux.

main()
{
int nc;
for (nc=0; getchar() !=EOF; ++nc);
printf("%d\n", nc);
 return 0;
 }

1 Ответ

1 голос
/ 21 мая 2019

для (nc = 0; getchar ()! = EOF; ++ nc);

the ';'в конце строки, возможно, не то, что вы хотите, из-за этого тело для пусто

, поэтому printf("%d\n", nc); выполняется только один раз, а не несколько, и длячто вам сначала нужно выйти из для , чтобы достичь EOF

Какая у вас ОС, что вы делаете, чтобы получить EOF?

Если вы никогда не достигнетеEOF нормально ничего не печатать

Если вы работаете под Linux / Unix, вы можете сделать echo blahblah | ./yourprog и да, в этом случае вы напечатаете 9 (из-за новой строки, 8, если echo -n blahblah)

Под Windows не выполняйте свой код с помощью кодовых блоков, выполняйте его непосредственно в терминале, кодовые блоки и другие IDE имеют непредвиденное поведение на вводе / выводе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...