unsigned long long int를 온전히 출력하려면 어떻게 해야 되나요?


소스코드

#include <stdio.h>
int main() {
    unsigned long long int num = 285212672; //FYI: fits in 29 bits
    int normalInt = 5;
    printf("%ul은 %d바이트. int값은 %d.\n", num, sizeof(num), normalInt);
    return 0;
}

출력 : 285212672l은 8바이트. int값은 0.

발생하는 문제 및 실행환경

원래 저렇게 출력되면 안되는데 normalInt가 이상하게 출력되는게 "%ul"이 285212672l을 다 담을 수 없어서 그런 것 같아요 ㅜㅜ unsigned long long int를 출력하려면 어떻게 해야 되나요?

  • 2016년 01월 29일에 작성됨

조회수 329


1 답변


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

long에는 l, long long에는 ll을 붙이고, unsigned를 나타내려면 u을 붙입니다.

printf("%llu", 285212672);
  • 2016년 01월 29일에 작성됨

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

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