循环外 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*/
}
当我运行程序时,在 cmd(Windows) 中说“th”(wtq) 并按 Enter 键:
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)
的值是空格吗?
最佳答案
当退出循环时,c
的值为 EOF
,它不是有效的字符值(这就是它用于指示文件结尾的原因)。将其传递给 putchar
是没有意义的。
关于c - 这里 putchar(c) 的值是多少 '_' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18648112/