[c] C에서 “부호없는 long”을 인쇄하는 방법은 무엇입니까?

unsigned longC로 데이터 유형 을 인쇄하는 방법을 이해할 수 없습니다 .

이 있다고 가정 unsigned_foo하면 unsigned long다음을 시도합니다.

  • printf("%lu\n", unsigned_foo)
  • printf("%du\n", unsigned_foo)
  • printf("%ud\n", unsigned_foo)
  • printf("%ll\n", unsigned_foo)
  • printf("%ld\n", unsigned_foo)
  • printf("%dl\n", unsigned_foo)

그리고 그들 모두는 내가 가지고있는 -123123123것 대신 어떤 종류의 숫자를 인쇄 unsigned long합니다.



답변

%lu에 대한 올바른 형식입니다 unsigned long. 메모리 손상이나 초기화되지 않은 변수와 같은 다른 문제가 있습니다. 아마도 우리에게 더 큰 그림을 보여줄까요?


답변

  • %lu에 대한 부호없는 긴
  • %llu에 대한 부호 오래 오래

답변

대한 INT %d

대한 긴 INT %ld

들어 오래 오래 INT %lld

대한 부호 없음 long long int와 %llu


답변

모든 조합 중 당신이 시도 %ld하고 %lu모두에서 유효한의 printf 형식 지정자있는 유일한 사람입니다. %lu(부호없는 10 진수) %lx또는 %lX(소문자 또는 대문자가있는 긴 16 %lo진수) 및 (8 진수)는 unsigned long 유형의 변수에 유효한 형식 지정자입니다 (물론 필드 사이에 필드 너비, 정밀도 등을 추가 할 수 있음) %l).


답변

int main()
{
    unsigned long long d;
    scanf("%llu",&d);
    printf("%llu",d);
    getch();
}

도움이 될 것입니다. . .


답변

형식은 %lu입니다.

여기 에서 printf의 다양한 다른 데이터 유형과 사용법을 확인 하십시오.


답변

부호없는 long의 올바른 지정자는 %lu입니다.

정확한 값을 얻지 못하면 코드에 문제가있을 수 있습니다.

여기에 코드를 복사하십시오. 그렇다면 누군가 문제가 무엇인지 더 잘 알 수 있습니다.