john6014   8년 전

아래 소스는 일부분인데요 숫자가 매우크기에 long long int 형으로 데이터를 입력 받은 다음 이를 몫과 나머지를 통해 앞자리를 구하여 스택에 넣은 다음 판별을 통해 역으로 추출하려고 코드를 짯는데요 문제는  나머지를 구하는 과정에서 값이 변하네요


문제의 예시가 18115211 였는데 첫번째 반복을 수행하면 share 에는 1이 들어가고 other 에는 8115211 이 저장되어야합니다만

디버깅해본 결과 share = 1 , other = 8115212 가 저장이 되네요.. Data 변수는 long long int 타입이구요 pow 함수 내부는 모두 int 형으로 받은 상태입니다..

요약하자면

소스코드 7번째 줄 연산에서 Data 변수에 18115211 값이 들어간 경우 share 변수에는 1 other 변수에는 8115211 이 들어가야하나 

디버깅한 결과 share = 1 , other = 8115212 상태

pow 함수의 자료형 때문인가요? 왜 저렇게 되는지 알려주세요.. 코드 다짯는데 저거때문에 고생중 ㅠ 

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