0

ループ外の 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) と言って cmd (Windows) で 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 0putchar(c)スペースの価値は?

4

1 に答える 1

1

ループを終了すると、の値はcisになりますがEOF、これは有効な文字値ではありません (そのため、ファイルの終わりを示すために使用されます)。に渡すのは意味がありませんputchar

于 2013-09-06T00:46:46.793 に答える