"C의 완전한 참조"책 char
에서 기본적으로 서명되지 않은 것으로 언급되어있다 .
그러나 Visual Studio뿐만 아니라 GCC로 이것을 확인하려고합니다. 기본적 으로 서명 된 것으로 간주 합니다.
어느 것이 맞습니까?
char
서명 할 수 없으므로 일반적으로을 사용하여을 사용하여 int
값을 읽으면을 getchar()
반환 할 수 있습니다 EOF
. EOF
은 일반적으로 -1
또는 다른 음수 값 으로 정의되며 unsigned
원하는 저장 값 이 아닙니다. 선언은 다음과 같습니다. extern int getchar();
BTW,이 권장 사항은 "C : A Reference Manual"책에서도 제공됩니다.
char
경우 에도 int
반환 값을 저장하는 데 사용해야 합니다.