programing

%d는 왜 Integer를 나타냅니까?

coolbiz 2022. 8. 14. 11:30
반응형

%d는 왜 Integer를 나타냅니까?

이것이 생산적으로 들리지 않는다는 것을 알지만, 저는 그 포맷 코드를 모두 기억하는 방법을 찾고 있습니다.printf콜을 클릭합니다.%s,%p,%f모두 명백한데 어디서부터 어떻게 해야 할지 모르겠어요.%d출신이다.%i이미 다른 약에 취해있나요?

이것은 "integer"가 아니라 "decimal"(기본값 10)을 나타냅니다.사용할 수 있습니다.%x16진수(베이스 16)로 인쇄합니다.%o8진수(베이스 8)로 인쇄합니다.정수는 이러한 베이스 중 하나에 포함될 수 있습니다.

printf(), 를 사용할 수 있습니다.%i와 동의어로서%d"timeout"이 아닌 "timeout"을 나타내는 경우.%d구체적이기 때문에 일반적으로 선호됩니다.

입력 시, 사용scanf(), 둘 다 사용할 수 있습니다.%i그리고.%d뿐만 아니라. %i는 임의의 베이스(8진수, 16진수 또는 10진수)의 정수로서 해석하는 것을 의미합니다.0또는0xprefix)와 동시에%d는, 10 진수의 정수로 해석하는 것을 의미합니다.

다음은 이러한 모든 기능을 수행하는 예입니다.

#include <stdio.h>

int main() {
  int out = 10;
  int in[4];

  printf("%d %i %x %o\n", out, out, out, out);
  sscanf("010 010 010 010", "%d %i %x %o", &in[0], &in[1], &in[2], &in[3]);
  printf("%d %d %d %d\n", in[0], in[1], in[2], in[3]);
  sscanf("0x10 10 010", "%i %i %i", &in[0], &in[1], &in[2]);
  printf("%d %d %d\n", in[0], in[1], in[2]);

  return 0;
}

그래서 그냥...%i입력 베이스를 프리픽스에 의존시키려면 , 입력 베이스를 고정할 필요가 있는 경우는, 를 사용해 주세요.%d,%x, 또는%o특히 리딩의 경우,0옥탈 모드로 하면 따라잡을 수 있습니다.

http://en.wikipedia.org/wiki/Printf_format_string은 내가 예상한대로 십진법이라고 말하는 것 같다.

d,i

부호 있는 10진수로서 int를 지정합니다.'%d'와 '%i'는 출력의 동의어이지만 입력에 scanf()와 함께 사용하면 다릅니다(%i를 사용하면 숫자가 0x 앞에 있으면 16진수로 해석되고 0 앞에 있으면 8진수로 해석됩니다).

언급URL : https://stackoverflow.com/questions/13409014/why-does-d-stand-for-integer

반응형