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