Каково значение 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
,