Изучение функции getchar ()

Лучший способ сделать это - отправить содержимое div на сервер и открыть новое окно, где сервер может поместить это содержимое в новое окно.

Если это не опция вы можете попытаться использовать язык на стороне клиента, например javascript, чтобы скрыть все на странице, кроме этого div, а затем распечатать страницу ...

2
задан Cœur 23 March 2019 в 04:01
поделиться

3 ответа

Возьмите свой второй пример, т.е.

while ((c = getchar()) != EOF) {
    printf("\'\\n\' character in c: %d\n", c == '\n');
}

и разверните цикл. Это станет:

c = getchar();
if (c == EOF) return 0;
printf("\'\\n\' character in c: %d\n", c == '\n');
c = getchar();
if (c == EOF) return 0;
printf("\'\\n\' character in c: %d\n", c == '\n');
c = getchar();
if (c == EOF) return 0;
printf("\'\\n\' character in c: %d\n", c == '\n');
... and so on ...

Теперь сравните это с вашей первой версией, и вы увидите, что разница в том, что второй пример делает вызов getchar между printf, тогда как в первом примере есть только один [ 114] вызова.

Другими словами - в первом примере читается только символ 'a', в то время как во втором примере сначала читается 'a', затем читается '\n', а затем читается .... (что бы вы ни печатали дальше)

0
ответ дан 4386427 23 March 2019 в 04:01
поделиться
  • Вы набираете a и нажимаете ввод. Буфер stdin будет выглядеть как a, \n, два символа.
  • Первый круг в цикле, c, имеет значение 'a', которое не равно '\n', выход 0.
  • Следующий круг в цикле, c имеет значение '\n', которое равно '\n', выход 1.
  • В конце ввода, когда c становится EOF, printf никогда не выполняется.
0
ответ дан Lundin 23 March 2019 в 04:01
поделиться

Вы нажимаете ввод после ввода a.

Таким образом, ваш входной поток будет иметь «a\n».

while ((c = getchar()) != EOF) {

Будет считываться, пока не достигнет EOF, поэтому сначала будет читаться a, затем \n (ввод).

0
ответ дан kiran Biradar 23 March 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: