logo

printf i C

I C-sprog bruges printf()-funktionen til at udskrive formateret output til standardoutput stdout (som generelt er konsolskærmen). Printf-funktionen er en del af C-standardbiblioteket < stdio.h> og det kan tillade formatering af outputtet på adskillige måder.

Syntaks af printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametre

    formatted_string: Det er en streng, der specificerer de data, der skal udskrives. Den kan også indeholde en formatspecifikation for at udskrive værdien af ​​enhver variabel, såsom et tegn og et heltal. arguments_list: Dette er variabelnavnene, der svarer til formatspecifikationen.

Returværdi

  • printf() returnerer antallet af tegn, der er udskrevet efter vellykket udførelse.
  • Hvis der opstår en fejl, returneres en negativ værdi.

Eksempel på printf

I dette eksempel udskriver vi strengen Hello Geek! i outputtet ved hjælp af printf()-funktionen. I printf()-funktionen udskrives det, vi vil skrive inde i de dobbelte anførselstegn ( ), i outputtet.



C






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



>

>

Produktion

Hello Geek!>

Formatering i C printf

I C kan en værdi være en karaktertype, heltalstype, flydende type og så videre. For at vise og formatere disse værdier ved hjælp af printf, har vi formatspecifikationer, der bruges i den formaterede streng. Disse formatangivelser starter med procentsymbolet '%'.

Syntaks for formatspecifikation

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

1. Specifikator

Det er tegnet, der angiver typen af ​​data. Nogle almindeligt anvendte specifikationer er:

    %d : til udskrivning af heltal %f : til udskrivning af flydende kommatal %c: til udskrivning af tegn %s: til udskrivning af strenge %p: til udskrivning af hukommelsesadresser %x : til udskrivning af hexadecimale værdier

Eksempel

printf(' %c ', char_variable );>

2. Bredde

Det er underspecifikationen, der angiver det mindste antal tegn, der vil blive udskrevet.

Hvis antallet af tegn er mindre end den angivne bredde, vil det hvide mellemrum blive brugt til at udfylde de resterende tegns pladser. Men hvis antallet af tegn er større end den angivne bredde, vil alle tegn stadig blive udskrevet uden at afskære nogen.

Eksempel

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

eller

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

3. Præcision

Præcisionsunderspecifikationsbetydningen er forskellig for forskellige formatspecifikationer, den bruges med.

design mønstre java
    For integrerede data(d, i, u, o, x, X): Angiver det mindste antal cifre, der skal udskrives. Men i modsætning til breddeunderspecifikationen tilføjer denne underspecifikation i stedet for hvide mellemrum indledende nuller til tallet. Hvis tallet har flere cifre end præcisionen, udskrives tallet, som det er. For flydende eller dobbelte data(f, e, a, A): Angiver antallet af cifre, der skal udskrives efter decimaltegnet. For streng(er): Angiver længden af ​​den streng, der skal udskrives.

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. Længde

Angiver længden af ​​datatypen i hukommelsen. Det bruges i korrespondance 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;> }>

>

>

Produktion

The sum of 99 and 1 is 100>

Eksempel 2: printf med specificeret bredde

I dette eksempel vil vi angive bredden af ​​outputtet, som vil blive udskrevet af printf()-funktionen.

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

>

>

Produktion

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, er alle tegnene stadig udskrevet, selvom vi definerer bredden, der er mindre end de nuværende tegn. Vi har også set de to måder, hvorpå vi kan definere bredden.

Eksempel 3: printf med Precision Sub-Specifier

I dette eksempel vil vi demonstrere præcisionsunderspecifikationen i printf()-funktionen

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

>

>

Produktion

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

>

>

Produktion

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

Relaterede artikler: