설명좀 부탁드립니다.
볼수록매력
2023.04.01
#includestdio.h
int main(void)
{
unsigned char a = 200, b = 100, d;
signed char c = -50;
d = a + b + c;
printf(%d\n, d);
return 0;
}
이게 출력결과가 205가 안나오는 이유가 뭔가요.
unsigned char의 입력범위때문에 a+b가 255가되고 거기서 50뻬고 205가 나와야되는게 아닌가요.
어떻게 계산되는건지 설명좀 부탁드립니다.
-
은새
그게아니고 unsigned char의 범위가 255까지라서 255가 먼저 저장이 되잖슴까....
300이 나오긴나오는데 그담에 계산할때 255로 시작하잖음... -
난초
a는 200이고 b는 100입니다. 더하면 300이 됩니다.
초등학생인가요? -
PrinceSs
에... 잘 이해가 안가는데요...;;;
-
소윤
:) a+b부터 찍어보심 아실텐데요.....