#include <stdio.h>
// copy input to output
// my version
int main()
{
int c;
printf("\n\nUse CONTROL + D to terminate this program\n\n");
while ((c = getchar()) != EOF) {
putchar(c);
}
if ((c = getchar()) == EOF) {
printf("\n\nProgram TERMINATED\n\n");
}
return 0;
}
で入力を取得します。それは私が望んでいたものですが、コードをより完全に分析した結果、if
の状態は(c = getchar()) == EOF
なので、再度入力する必要はありませんか?は、if条件
なぜ 'char'ではなく' int'ですか? – alex
@alex: 'getchar'は' int'(実際には 'unsigned char'を' int'にキャストするか 'EOF' - 定義では負の数です)を返します。 – jweyrich