char 자료형의 성질에 대한 질문입니다.
양자리
2023.08.02
질문 제목 : char 자료형의 성질에 대한 질문입니다.질문 요약 :char 자료형의 성질에 대한 질문질문 내용 :
char x,y;
x = -128;
y = -x;
if(((char)(-x)+x)!=0) puts(1);
if(x!=-y) puts(2);
이 코드에 대한 질문인데요.
char 변수를 하나 새로 만들어서 (char)(-x)+x 의 값을 확인해보면 분명 0이라고 뜨는데
위의 if 문에서는 true 가 되어1이 출력이 됩니다.
c에서 char 자료형이 내부적으로 어떻게 동작하길래 이런 모순이 발생하는지 궁금합니다.
마찬가지로 -y 는 x 일 터인데,
두번째 if 문에서도 2가 출력이 됩니다.
이유가 궁금합니다.