printf에서 long이 자꾸 음수가 뜹니다


소스코드

long mylong = 1000000000000000000;
printf("%d", mylong);

출력 : -1486618624

발생하는 문제 및 실행환경

저 %d같은걸 뭐라 부르는지 모르겠는데 long타입이 다 안들어가는 것 같아요 ㅜㅜ %f로 쓰면 0.0000같이 나오는데 어떻게 해야되나요?

  • 2016년 01월 29일에 작성됨

조회수 273


1 답변


좋아요
0
싫어요
채택취소하기

%를 지정자, %d%i 등은 형식 지정자라고 합니다.

long의 형식 지정자는 지정자 바로 뒤에 l을 붙입니다

unsigned long n;
long m;

printf("%lu %ld", n, m);
  • 2016년 01월 29일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close