EOF値を保持できるようにEOF値を十分に大きくするために、EOFを保持する変数に使用する必要があるデニスリッチーのThe C Programming Language本を読みました。ただし、次のコードは正常に機能します。int
char
#include<stdio.h>
main() {
char c;
c=getchar();
while(c!=EOF) {
putchar(c);
c=getchar();
}
}
入力がなくなると、getchar
EOFを返します。また、上記のプログラムではc
、char型の変数が正常に保持できます。
なぜこれが機能するのですか?上記の本の説明によると、コードは機能しません。
0xff
。の結果を保存するとgetchar()
、int
その問題が解決します。あなたの質問は、comp.lang.c FAQの質問12.1と本質的に同じで、優れたリソースです。(また、するmain()
必要がありint main(void)
、return 0;
終了前にaを追加しても問題ありません}
。)