his130   3년 전

long long x;

int a,b,c=1000000000;

x=a+b+c;

이게 왜 틀릴까요?

a,b,c는 각각 int 변수이고 x는 long long 인데...?

djm03178   3년 전

a랑 b는 초기화가  안 됐으니까요?

djm03178   3년 전

셋 다 10억이라는 뜻이라면 더하기 과정에서 int형끼리의 연산의 결과도 int형이기 때문에 대입하기 전에 이미 오버플로가 났으니 뒤늦게 형변환이 돼도 손실된 부분은 돌아오지 않습니다.

his130   3년 전

아 자꾸 중간과정에서 오버플로우가 나는걸 이해를 못하고 계속 같은 실수를 반복하네요..ㅠㅠ 감사합니다

댓글을 작성하려면 로그인해야 합니다.