Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 %d 및 %i 형식 지정자의 차이점.

<시간/>

형식 지정자

C 프로그래밍 언어에서 %d 및 %i는 형식 지정자입니다. 여기서 %d는 변수 유형을 10진수로 지정하고 %i는 유형을 정수로 지정합니다. 사용법상 %d나 %i를 사용하여 숫자를 출력할 때 printf() 함수 출력에는 차이가 없으나 scanf를 사용하면 차이가 발생한다. scanf() 함수는 %i를 사용하여 기수를 감지하지만 %d를 사용하여 기수 10을 가정합니다.

예(C)

#include <stdio.h>
int main() {
   int num1 ,num2;
   int num3, num4;
   scanf("%i%d",&num1 , &num2);
   printf("%i\t%d\n",num1, num2);
   num3 = 010;
   num4 = 010;
   printf("%i\t%d",num3, num4);
   return 0;
}

출력

32767-498932064
8 8

여기서 010은 8진수입니다. scanf는 %d를 사용하여 숫자를 10으로 읽고 %i를 사용하여 숫자를 8로 읽습니다. printf는 두 경우 모두 숫자를 8진수로 읽는 것이 좋습니다.