문제

인쇄하는 방법을 전혀 이해할 수 없습니다 unsigned long C의 데이터 유형

가정하다 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 ~을 위한 부호 없는 긴 긴

을 위한 정수 %d

을 위한 긴 정수 %ld

을 위한 긴 긴 정수 %lld

을 위한 부호 없는 긴 긴 정수 %llu

당신이 시도한 모든 조합 중에서, %ld 그리고 %lu 유효한 printf 형식 지정자인 유일한 것입니다. %lu (부호 없는 긴 십진수), %lx 또는 %lX (소문자 또는 대문자로 구성된 긴 16진수) 및 %lo (long octal)은 unsigned long 유형의 변수에 대해 유일하게 유효한 형식 지정자입니다. 물론 필드 너비, 정밀도 등 수정자를 추가할 수 있습니다. % 그리고 l).

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

이것은 도움이 될 것입니다...

형식은 %lu.

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

unsigned long에 대한 올바른 지정자는 다음과 같습니다. %lu.

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

여기에 코드를 복사해 주세요.그러면 누군가가 문제가 무엇인지 더 잘 말해 줄 수 있을 것입니다.

나는 같은 문제가 있었다."%ul"을 사용해 보세요. 저에게 적합합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top