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