#include<stdio.h>
main(){
int boxes, kilogram;
unsigned int total;
kilogram=30;
boxes=1500;
total=boxes * kilogram;
printf("value: %d",total);
}
여기서 unsigned int의 범위는 0~65536이므로 결과값은 45000이 나와야되는데
이상하게 -20536 즉 signed int로 넣었을때와 같게 나옵니다.
사용환경은 윈도우2K안의 커맨드창에서 실행한 TC 2.0입니다.
왜 저값이 나오는지 이해가 안됩니다.
지도 부탁드립니다.
|