putchar(c)在这里的值是多少'_';?
putchar(c)在外循环的值是多少putchar(c)在这里的值是多少'_';?,c,printf,putchar,kr-c,C,Printf,Putchar,Kr 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*
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)并在cmd(Windows)中按enter键:
注意printf c_outloop 0前的空格。是
putchar(c)
Space的值吗?退出循环时,c
的值是EOF
,它不是有效的字符值(这就是为什么它用于指示文件结束)。将其传递给putchar
是没有意义的,那么为什么会有这个空间呢?它象征着什么?没什么。这只是一个无意义操作的垃圾结果。值是布尔值,不是吗?对还是错?因为如果我去掉括号,printf_c outside的值就变成了-1,不是EOFW的th值吗?如果你的意思是c
,它是一个整数。在您的平台上,EOF
很可能是-1
。我的意思是c的值是布尔值
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