logo

printf C:ssä

C-kielessä printf()-funktiota käytetään muotoillun tulosteen tulostamiseen vakiotulosteeseen stdout (joka on yleensä konsolin näyttö). Printf-funktio on osa C-standardin kirjastoa < stdio.h> ja se voi mahdollistaa tulosteen muotoilun useilla tavoilla.

Tulostimen printf syntaksi

 printf  ( ' formatted_string ',   arguments_list);>

Parametrit

    formatted_string: Se on merkkijono, joka määrittää tulostettavat tiedot. Se voi myös sisältää muotomääritteen minkä tahansa muuttujan, kuten merkin ja kokonaisluvun, arvon tulostamiseksi. argumentit_lista: Nämä ovat muotomääritteen mukaisia ​​muuttujien nimiä.

Palautusarvo

  • printf() palauttaa onnistuneen suorituksen jälkeen tulostettujen merkkien määrän.
  • Jos tapahtuu virhe, palautetaan negatiivinen arvo.

Esimerkki printf:stä

Tässä esimerkissä tulostamme merkkijonon Hello Geek! tulosteessa printf()-funktiolla. Toiminnossa printf() tulostetaan se, mitä kirjoitamme lainausmerkkien ( ) sisään.



C






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



>

>

Lähtö

Hello Geek!>

Muotoilu C printf

C:ssä arvo voi olla merkkityyppi, kokonaislukutyyppi, float-tyyppi ja niin edelleen. Näiden arvojen näyttämiseksi ja muotoilemiseksi printf:llä meillä on muotomäärityksiä, joita käytetään muotoillussa merkkijonossa. Nämä muotomääritykset alkavat prosenttisymbolilla '%'.

Muotomääritteen syntaksi

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

1. Määrittäjä

Se on merkki, joka ilmaisee tiedon tyypin. Jotkut yleisesti käytetyt määritteet ovat:

    %d : kokonaislukujen tulostamiseen %f : liukulukujen tulostamiseen %c: merkkien tulostamiseen %s: merkkijonojen tulostamiseen %p: muistiosoitteiden tulostamiseen %x : heksadesimaaliarvojen tulostamiseen

Esimerkki

printf(' %c ', char_variable );>

2. Leveys

Se on alimäärittäjä, joka ilmaisee tulostettavien merkkien vähimmäismäärän.

Jos merkkien määrä on pienempi kuin määritetty leveys, tyhjää välilyöntiä käytetään täyttämään jäljellä olevat merkit. Mutta jos merkkien määrä on suurempi kuin määritetty leveys, kaikki merkit tulostetaan silti ilman, että niitä leikataan pois.

Esimerkki

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

tai

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

3. Tarkkuus

Tarkkuusalimääritteen merkitys vaihtelee eri muotomääritteiden kanssa, joiden kanssa sitä käytetään.

c# sisältää merkkijonon
    Integraalitiedot (d, i, u, o, x, X): Määrittää tulostettavien numeroiden vähimmäismäärän. Mutta toisin kuin leveyden alimäärittäjä, tämä alimäärittäjä lisää numeroon etunollia välilyöntien sijaan. Jos numerossa on enemmän numeroita kuin tarkkuus, numero tulostetaan sellaisenaan. Float tai Double Data(f, e, a, A): Määrittää desimaalipilkun jälkeen tulostettavien numeroiden määrän. Merkkijono(t): Määrittää tulostettavan merkkijonon pituuden.

Esimerkki

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

tai

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

4. Pituus

Määrittää muistissa olevan tietotyypin pituuden. Sitä käytetään kirjeenvaihdossa C:n kanssa




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

>

>

Lähtö

The sum of 99 and 1 is 100>

Esimerkki 2: printf määritetyllä leveydellä

Tässä esimerkissä määritämme tulosteen leveyden, jonka printf()-funktio tulostaa.

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

>

>

Lähtö

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

Kuten näemme, vaikka määritämme leveyden, joka on pienempi kuin nykyiset merkit, kaikki merkit tulostuvat silti. Olemme myös nähneet kaksi tapaa, joilla voimme määrittää leveyden.

Esimerkki 3: printf ja Precision Sub-Specifier

Tässä esimerkissä esittelemme tarkkuusalimääritteen printf()-funktiossa

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

>

>

Lähtö

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

Esimerkki 4: printf pituuden alimääritteen kanssa

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

>

>

Lähtö

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

Aiheeseen liittyvät artikkelit: