logo

C의 printf

C 언어에서는 printf() 함수를 사용하여 형식화된 출력을 표준 출력으로 인쇄합니다. 표준 출력 (일반적으로 콘솔 화면입니다). printf 함수는 C 표준 라이브러리의 일부입니다. stdio.h> 다양한 방법으로 출력 형식을 지정할 수 있습니다.

printf의 구문

 printf  ( ' formatted_string ',   arguments_list);>

매개변수

    formatted_string: 인쇄할 데이터를 지정하는 문자열입니다. 또한 문자 및 정수와 같은 변수의 값을 인쇄하는 형식 지정자를 포함할 수도 있습니다. 인수_목록: 형식 지정자에 해당하는 변수 이름입니다.

반환 값

  • printf()는 성공적인 실행 후 인쇄된 문자 수를 반환합니다.
  • 오류가 발생하면 음수 값이 반환됩니다.

printf의 예

이 예에서는 Hello Geek!라는 문자열을 인쇄하고 있습니다. printf() 함수를 사용하여 출력합니다. printf() 함수에서는 큰따옴표( ) 안에 쓸 내용이 출력에 인쇄됩니다.








// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }>



>

>

산출

Hello Geek!>

C printf에서 형식 지정

C에서 값은 문자 유형, 정수 유형, 부동 소수점 유형 등이 될 수 있습니다. printf를 사용하여 이러한 값을 표시하고 형식을 지정하기 위해 형식이 지정된 문자열에 사용되는 형식 지정자가 있습니다. 이러한 형식 지정자는 백분율 기호로 시작합니다. '%'.

형식 지정자의 구문

%[flags][width][.precision][length]specifier>

1. 지정자

데이터의 종류를 나타내는 문자입니다. 일반적으로 사용되는 일부 지정자는 다음과 같습니다.

    %d : 정수 인쇄용 %f : 부동 소수점 숫자 인쇄용 %c: 문자 인쇄용 %s: 문자열 인쇄용 %p: 메모리 주소 인쇄용 %x : 16진수 값 인쇄용

printf(' %c ', char_variable );>

2. 폭

인쇄될 최소 문자 수를 나타내는 하위 지정자입니다.

문자 수가 지정된 너비보다 적으면 공백이 나머지 문자 자리를 채우는 데 사용됩니다. 그러나 문자 수가 지정된 너비보다 크면 모든 문자가 잘리지 않고 계속 인쇄됩니다.

printf('% 25 s', some_string );>

또는

printf('% * s', 25 , some_string );>

3. 정밀도

정밀도 하위 지정자의 의미는 함께 사용되는 형식 지정자에 따라 다릅니다.

배우 제나 아만
    적분 데이터(d, i, u, o, x, X)의 경우: 인쇄할 최소 자릿수를 지정합니다. 그러나 너비 하위 지정자와 달리 공백 대신 이 하위 지정자는 숫자 앞에 0을 추가합니다. 숫자의 자릿수가 정밀도보다 많으면 숫자가 그대로 인쇄됩니다. Float 또는 Double Data(f, e, a, A)의 경우 : 소수점 이하의 자릿수를 지정합니다. 문자열의 경우: 인쇄할 문자열의 길이를 지정합니다.

printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;>

또는

printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );>

4. 길이

메모리에 있는 데이터 유형의 길이를 지정합니다. C에 대응하여 사용됩니다.




// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d '>, num1, num2,> >num1 + num2);> >return> 0;> }>

>

>

산출

The sum of 99 and 1 is 100>

예제 2: 지정된 너비의 printf

이 예에서는 printf() 함수에 의해 인쇄될 출력의 너비를 지정합니다.




// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>' Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }>

>

>

산출

Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>

보시다시피 현재 문자보다 작은 너비를 정의하더라도 모든 문자가 여전히 인쇄됩니다. 또한 너비를 정의할 수 있는 두 가지 방법을 살펴보았습니다.

예제 3: 정밀도 하위 지정자를 사용한 printf

이 예에서는 printf() 함수의 정밀도 하위 지정자를 보여줍니다.




// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d '>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f '>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }>

>

>

산출

For integers: 0000002451 For floats: 12.45 For strings: Geeks>

예제 4: 길이 하위 지정자를 사용한 printf




// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>' Using %%ld: %ld'>, var);> >return> 0;> }>

>

>

산출

Using %d: -1294967296 Using %ld: 3000000000>

관련 기사: