「Cの完全なリファレンス」という本でchar
は、デフォルトで署名されていないことが言及されています。
しかし、私はこれをGCCとVisual Studioで検証しようとしています。それはデフォルトで署名されているようにそれを取っています。
どちらが正しいか?
char
署名されていない可能性がint
あるため、経験則として、を使用してを使用して値を読み取ると、getchar()
が返されることがありEOF
ます。EOF
は通常、-1
またはその他の負の値として定義されunsigned
ます。宣言は次のとおりです。extern int getchar();
ところで、この推奨事項は「C:A Reference Manual」の本からも引用されています。
char
です。署名された場合でもint
、戻り値を格納するために使用する必要があります。