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>