logo

printf i C

I C-språk brukes printf()-funksjonen til å skrive ut formatert utdata til standardutdata stdout (som vanligvis er konsollskjermen). Printf-funksjonen er en del av C-standardbiblioteket < stdio.h> og det kan tillate formatering av utdataene på mange måter.

Syntaks for printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametere

    formatted_string: Det er en streng som spesifiserer dataene som skal skrives ut. Den kan også inneholde en formatspesifikasjon for å skrive ut verdien til en hvilken som helst variabel, for eksempel et tegn og et heltall. arguments_list: Dette er variabelnavnene som tilsvarer formatspesifikatoren.

Returverdi

  • printf() returnerer antall tegn som er skrevet ut etter vellykket kjøring.
  • Hvis det oppstår en feil, returneres en negativ verdi.

Eksempel på printf

I dette eksemplet skriver vi ut strengen Hello Geek! i utdata ved å bruke printf()-funksjonen. I funksjonen printf() skrives det vi skal skrive i de doble anførselstegnene ( ) i utdataene.



C






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



>

>

Produksjon

Hello Geek!>

Formatering i C printf

I C kan en verdi være en tegntype, heltallstype, flytetype og så videre. For å vise og formatere disse verdiene ved hjelp av printf, har vi formatspesifikasjoner som brukes i den formaterte strengen. Disse formatspesifikasjonene starter med prosentsymbolet '%'.

Syntaks for formatspesifikasjoner

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

1. Spesifiser

Det er tegnet som angir typen data. Noen ofte brukte spesifikasjoner er:

    %d : for utskrift av heltall %f : for utskrift av flytende tall %c: for utskrift av tegn %s: for utskrift av strenger %p: for utskrift av minneadresser %x : for utskrift av heksadesimale verdier

Eksempel

printf(' %c ', char_variable );>

2. Bredde

Det er underspesifikasjonen som angir minimum antall tegn som skal skrives ut.

Hvis antallet tegn er mindre enn den angitte bredden, vil det hvite mellomrommet bli brukt til å fylle plassene til de resterende tegnene. Men hvis antallet tegn er større enn den angitte bredden, vil alle tegnene fortsatt skrives ut uten å kutte av noen.

Eksempel

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

eller

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

3. Presisjon

Presisjonsunderspesifikasjonsbetydningen er forskjellig for forskjellige formatspesifikasjoner den brukes med.

design mønstre java
    For integrerte data(d, i, u, o, x, X): Angir minimum antall sifre som skal skrives ut. Men i motsetning til breddeunderspesifikasjonen, i stedet for mellomrom, legger denne underspesifikasjonen innledende nuller til tallet. Hvis tallet har flere sifre enn nøyaktigheten, skrives tallet ut som det er. For flytende eller doble data(f, e, a, A): Angir antall sifre som skal skrives ut etter desimaltegnet. For streng(er): Angir lengden på strengen som skal skrives ut.

Eksempel

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

eller

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

4. Lengde

Angir lengden på datatypen i minnet. Den brukes i korrespondanse med 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;> }>

>

>

Produksjon

The sum of 99 and 1 is 100>

Eksempel 2: printf med spesifisert bredde

I dette eksemplet vil vi spesifisere bredden på utdataene som vil bli skrevet ut av printf()-funksjonen.

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

>

>

Produksjon

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

Som vi kan se, selv om vi definerer bredden som er mindre enn de nåværende tegnene, blir alle tegnene fortsatt skrevet ut. Vi har også sett de to måtene vi kan definere bredden på.

Eksempel 3: printf med Precision Sub-Specifier

I dette eksemplet vil vi demonstrere presisjonsunderspesifikasjonen i printf()-funksjonen

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

>

>

Produksjon

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

Eksempel 4: printf med Length Sub-Specifier

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

>

>

Produksjon

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

Relaterte artikler: