long long x;
int a,b,c=1000000000;
x=a+b+c;
이게 왜 틀릴까요?
a,b,c는 각각 int 변수이고 x는 long long 인데...?
a랑 b는 초기화가 안 됐으니까요?
셋 다 10억이라는 뜻이라면 더하기 과정에서 int형끼리의 연산의 결과도 int형이기 때문에 대입하기 전에 이미 오버플로가 났으니 뒤늦게 형변환이 돼도 손실된 부분은 돌아오지 않습니다.
아 자꾸 중간과정에서 오버플로우가 나는걸 이해를 못하고 계속 같은 실수를 반복하네요..ㅠㅠ 감사합니다
댓글을 작성하려면 로그인해야 합니다.
his130 6년 전
long long x;
int a,b,c=1000000000;
x=a+b+c;
이게 왜 틀릴까요?
a,b,c는 각각 int 변수이고 x는 long long 인데...?