Каково значение putchar(c) здесь '_'?

Каково значение putchar(c) вне цикла?

main()
{
  int c;

  while (c = getchar() != EOF) {
    printf("printf c_inloop :%d\n",c);
    printf("Putchar c_inside: ");
    putchar(c);
    printf("\n\n");
  }

  putchar(c);
  printf("printf c_outloop %d",c); /*outside loop*/

}

Когда я запускаю программу, произнесите "th"(wtq) и нажмите enter в cmd(Windows):

th
printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)

printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)

printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)


^Z (Ctrl + Z)
 printf c_outloop 0

Обратите внимание на пространство перед printf c_outloop 0, Является ли значение putchar(c) Космос?

1 ответ

Решение

Когда вы выходите из цикла, значение c является EOF, который не является допустимым символьным значением (именно поэтому он используется для обозначения конца файла). Нет смысла передавать его putchar,

Другие вопросы по тегам