programing

GCC를 사용하여 C에 긴 int를 인쇄하시겠습니까?

javaba 2022. 8. 7. 17:36
반응형

GCC를 사용하여 C에 긴 int를 인쇄하시겠습니까?

인쇄 방법long long int그리고 또unsigned long long intGCC를 사용하여 C99에 저장합니까?

사용할 것을 제안하는 다른 게시물을 검색했습니다.%lld단, 다음과 같은 경고가 표시됩니다.

경고 #1: 알 수 없는 변환 유형 문자 'l' 형식 [-Wformat]|
warning #2: 형식에 대한 인수가 너무 많습니다 [-Wformat-extra-args]|

다음 시도의 경우:

#include <stdio.h>

int main()
{
   long long int x = 0;
   unsigned long long int y = 0;
   printf("%lld\n", x);
   printf("%llu\n", y);
}

윈도 상에서 mingw를 사용하는 경우 gcc는 win32 런타임을 사용합니다.여기서 printf는%I64d64비트 정수의 경우.(그리고%I64u64비트 정수의 경우)

기타 대부분의 플랫폼에서는%lld긴 인쇄를 위해. (그리고)%llu서명되지 않은 경우).이건 C99에서 스탠더드 상태야

gcc에는 완전한 C 런타임은 포함되어 있지 않습니다.실행하고 있는 플랫폼에 따라 다릅니다.따라서 일반적으로 gcc와는 무관하게 특정 플랫폼의 매뉴얼을 참조할 필요가 있습니다.

휴대용 코드의 경우 inttypes.h의 매크로를 사용할 수 있습니다.플랫폼에 적합한 것으로 확장됩니다.

예: 64비트 정수의 경우 매크로,PRId64사용할 수 있습니다.

int64_t n = 7;
printf("n is %" PRId64 "\n", n);

컴파일러를 업데이트해 보세요.Windows 7 Starter x86에서 MinGW를 사용하여 GCC 4.7을 사용하고 있습니다.C99와 C11 모두 같은 옵션으로 컴파일 할 수 있습니다.

의 설정을 시험할 수 있습니다.code::block컴파일러가 있습니다.그러면 C모드로 선택합니다.

여기서 이미지 설명을 입력하

언급URL : https://stackoverflow.com/questions/13590735/printf-long-long-int-in-c-with-gcc

반응형