반응형
C: printf에서 ptrdiff_t에 어떤 문자를 사용해야 합니까?
어떤 문자를 사용해야 합니까?ptrdiff_t
에printf
?
C 표준이 인쇄 방법을 명확하게 설명합니까?ptrdiff_t
에printf
아무도 못 찾았어요
int a = 1;
int b = 2;
int* pa = &a;
int* pb = &b;
ptrdiff_t diff = b - a;
printf("diff = %?", diff); // % what?
그건…%td
여기 보세요.
C11 초안은 다음에 대한 길이 수정자를 설명합니다.ptrdiff_t
7.21.6.17 "그fprintf
함수"
t
다음 항목을 지정합니다.d
,i
,o
,u
,x
또는X
변환 지정자가 에 적용됩니다.ptrdiff_t
또는 해당하는 부호 없는 정수 유형 인수 또는 다음과 같은 인수n
변환 지정자는 에 대한 포인터에 적용됩니다.ptrdiff_t
논쟁.
사용하다"%td"
다음과 같이: 신용: @trojanfoe.
ptrdiff_t diff = b - a;
printf("diff = %td", diff);
컴파일러가 지원하지 않는 경우 서명된 형식으로 캐스팅합니다. 길수록 좋습니다.그런 다음 대체 형식과 인수가 일치하는지 확인합니다.
// Note the cast
printf("diff = %lld", (long long) diff); // or
printf("diff = %ld", (long) diff);
사용하다%td
그리고 만약 당신의 컴파일러가 그것을 지원하지 않는다면, 당신은 시도해야 합니다.%ld
(또한 입력을 에 캐스팅합니다.long
).
언급URL : https://stackoverflow.com/questions/7954439/c-which-character-should-be-used-for-ptrdiff-t-in-printf
반응형
'it-source' 카테고리의 다른 글
스프링 부팅 시 캐시 다시 로드/새로 고침 (0) | 2023.07.25 |
---|---|
웹 앱의 다른 모든 빈이 파괴되기 전에 어떻게 Spring 작업 실행자/스케줄러 풀을 종료할 수 있습니까? (0) | 2023.07.25 |
REST api를 사용하여 MariaDB에서 데이터를 가져오는 방법은 무엇입니까? (0) | 2023.07.25 |
셀러리 대 RQ 사용에 대한 장단점 (0) | 2023.07.25 |
Spring REST 컨트롤러가 빈 데이터와 함께 JSON을 반환합니다. (0) | 2023.07.25 |