logo

printf v C

V jeziku C se funkcija printf() uporablja za tiskanje oblikovanega izhoda v standardni izhod stdout (kar je običajno zaslon konzole). Funkcija printf je del standardne knjižnice C < stdio.h> in omogoča lahko formatiranje izhoda na številne načine.

Sintaksa printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametri

    formatted_string: To je niz, ki določa podatke za tiskanje. Vsebuje lahko tudi specifikator oblike za tiskanje vrednosti katere koli spremenljivke, kot sta znak in celo število. arguments_list: To so imena spremenljivk, ki ustrezajo specifikatorju formata.

Povratna vrednost

  • printf() vrne število natisnjenih znakov po uspešni izvedbi.
  • Če pride do napake, se vrne negativna vrednost.

Primer printf

V tem primeru natisnemo niz Hello Geek! v izhodu s funkcijo printf(). V funkciji printf() je tisto, kar bomo zapisali znotraj dvojnih narekovajev ( ), natisnjeno v izhodu.



C






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



>

>

Izhod

Hello Geek!>

Oblikovanje v C printf

V C je vrednost lahko tip znaka, tip celega števila, tip float itd. Za prikaz in oblikovanje teh vrednosti z uporabo printf, imamo specifikatorje formata, ki se uporabljajo v oblikovanem nizu. Ti specifikatorji oblike se začnejo s simbolom odstotka '%'.

Sintaksa specifikatorja formata

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

1. Specifikator

To je znak, ki označuje vrsto podatkov. Nekateri pogosto uporabljeni specifikatorji so:

    %d : za tiskanje celih števil %f : za tiskanje števil s plavajočo vejico %c : za tiskanje znakov %s: za tiskanje nizov %p: za tiskanje pomnilniških naslovov %x : za tiskanje šestnajstiških vrednosti

Primer

printf(' %c ', char_variable );>

2. Širina

To je podspecifikator, ki označuje najmanjše število znakov, ki bodo natisnjeni.

Če je število znakov manjše od navedene širine, bo prazen prostor uporabljen za zapolnitev preostalih mest znakov. Če pa je število znakov večje od navedene širine, bodo vsi znaki še vedno natisnjeni, ne da bi bili kateri odrezani.

Primer

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

oz

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

3. Natančnost

Pomen podspecifikatorja natančnosti se razlikuje za različne specifikatorje formata, s katerimi se uporablja.

prelivanje besed css
    Za Integralne podatke (d, i, u, o, x, X): Določa najmanjše število števk za tiskanje. Toda za razliko od podspecifikatorja širine ta podspecifikator namesto presledkov doda začetni ničli številu. Če ima številka več števk od natančnosti, se številka natisne tako, kot je. Za plavajoče ali dvojne podatke (f, e, a, A) : določa število števk, ki se natisnejo za decimalno vejico. Za niz (-e): Določa dolžino niza, ki bo natisnjen.

Primer

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

oz

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

4. Dolžina

Podaja dolžino vrste podatkov v pomnilniku. Uporablja se v korespondenci s 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;> }>

>

>

Izhod

The sum of 99 and 1 is 100>

Primer 2: printf z določeno širino

V tem primeru bomo podali širino izpisa, ki ga bo natisnila funkcija printf().

C




// 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;> }>

>

>

Izhod

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

Kot lahko vidimo, tudi če določimo širino, ki je manjša od trenutnih znakov, so vsi znaki še vedno natisnjeni. Prav tako smo videli dva načina, na katera lahko definiramo širino.

Primer 3: printf s podspecifikatorjem Precision

V tem primeru bomo prikazali podspecifikator natančnosti v funkciji printf().

C




// 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;> }>

>

>

Izhod

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

Primer 4: printf s podspecifikatorjem dolžine

C




// 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;> }>

>

>

Izhod

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

Povezani članki: