일 때 형식 변환이 필요합니까? 다음 코드는 -1이 아닌 매우 큰 정수 값을 인쇄합니다.왜 printf 음수 정수 값이
int64_t num = -1
printf("%lld",num);
인쇄하려면 -1을 입력해야합니다.
printf("%lld",(int64_t) num);
왜 그런가? 표준입니까? 또는 정의되지 않은 동작은 시스템 플랫폼에 따라 다를 수 있습니까?
저는 x86 인텔 프로세서와 인텔 icc 컴파일러를 사용합니다.
@DenisSheremet 저는 x86 인텔 프로세서와 인텔 icc 컴파일러를 사용합니다. – syko
[mcve]를 (를) 더 잘 게시하십시오. 'num'은'int64_t'이며, 캐스트는 아무것도하지 않습니다. – juanchopanza
C 또는 C++을 쓰고 있습니까? C++에서는'printf' 대신'std :: cout'을 사용합니다. – MSalters