happiness96   3년 전

input

100000 1

output

9999999999

A와 B를 long으로 선언시 오답 출력에도 정답 처리가 되는 것을 확인해였습니다.

djm03178   3년 전

long은 채점 서버에서 8바이트입니다.

데이터 추가 요청 글을 올릴 때에는 반드시 저격하는 코드의 채점 번호를 같이 적어주셔야 합니다.

happiness96   3년 전

잠정신에 생각을 안하고 올렸습니다.. 죄송합니다

평소 C/C++ 언어를 사용하지않다보니 착오가 있었던 모양입니다.

다만 개인적으로 테스트 해보니(VSCode) A와 B를 int로 선언했을 경우랑 long으로 선언했을 경우 왜 동일한 값이 출력되는지 모르겠습니다.

ideone에서는 또 정상적으로 출력이 되더라고요..

djm03178   3년 전

Java와는 달리 C/C++에서는 자료형의 크기가 하나로 고정되어 있지 않은 것들이 있습니다. long의 경우도 최소 int의 크기를 가지면 될 뿐, 정확히 몇 바이트를 사용해야 한다는 규정이 없습니다. 그래서 많은 환경에서는 long이 4바이트이지만, 채점 서버에서는 8바이트이기 때문에 직접 테스트 해본 환경이 4바이트라면 int와 같은 결과를 낼 것입니다. 하지만 채점 서버에서는 int와 long의 크기가 다르기 때문에 결과도 다릅니다.

happiness96   3년 전

번거로우실텐데 친절한 설명 감사합니다! 조금만 찾아보니 답이 나오더라고요.. -_-;;

제 컴퓨터에 설치돼있는 컴파일러가 gcc32였습니다.. 차근차근 재입문 해보겠습니다 ㅎㅎ 감사합니다 :)

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