logo

printf v C

V jazyce C se funkce printf() používá k tisku formátovaného výstupu na standardní výstup stdout (což je obecně obrazovka konzoly). Funkce printf je součástí standardní knihovny jazyka C < stdio.h> a může umožnit formátování výstupu mnoha způsoby.

Syntaxe printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametry

    formatted_string: Je to řetězec, který specifikuje data, která mají být vytištěna. Může také obsahovat specifikátor formátu pro tisk hodnoty libovolné proměnné, jako je znak a celé číslo. arguments_list: Toto jsou názvy proměnných odpovídající specifikátoru formátu.

Návratová hodnota

  • printf() vrací počet znaků vytištěných po úspěšném provedení.
  • Pokud dojde k chybě, vrátí se záporná hodnota.

Příklad printf

V tomto příkladu tiskneme řetězec Hello Geek! ve výstupu pomocí funkce printf(). Ve funkci printf() je na výstupu vytištěno, co napíšeme do dvojitých uvozovek ().



C






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



>

>

Výstup

Hello Geek!>

Formátování v C printf

V C může být hodnotou typ znaku, typ celého čísla, typ float atd. Pro zobrazení a formátování těchto hodnot pomocí printf máme specifikátory formátu, které se používají ve formátovaném řetězci. Tyto specifikátory formátu začínají symbolem procent '%'.

Syntaxe specifikátoru formátu

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

1. Specifikátor

Je to znak, který označuje typ dat. Některé běžně používané specifikátory jsou:

    %d : pro tisk celých čísel %f : pro tisk čísel s plovoucí desetinnou čárkou %c: pro tisk znaků %s: pro tisk řetězců %p: pro tisk adres paměti %x : pro tisk hexadecimálních hodnot

Příklad

printf(' %c ', char_variable );>

2. Šířka

Je to dílčí specifikátor, který označuje minimální počet znaků, které budou vytištěny.

Pokud je počet znaků menší než zadaná šířka, použije se k vyplnění míst zbývajících znaků bílé místo. Pokud je však počet znaků větší než zadaná šířka, všechny znaky se vytisknou, aniž by byly nějaké oříznuty.

Příklad

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

nebo

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

3. Přesnost

Význam dílčího specifikátoru přesnosti se u různých specifikátorů formátu, se kterými se používá, liší.

řetězec java list
    Pro integrální data (d, i, u, o, x, X): Určuje minimální počet číslic, které se mají vytisknout. Ale na rozdíl od dílčího specifikátoru šířky místo bílých mezer tento dílčí specifikátor přidává k číslu úvodní nuly. Pokud má číslo více číslic, než je přesnost, vytiskne se číslo tak, jak je. Pro plovoucí nebo dvojitá data(f, e, a, A) : Určuje počet číslic, které se mají vytisknout za desetinnou čárkou. Pro řetězec (s): Určuje délku řetězce, který se má vytisknout.

Příklad

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

nebo

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

4. Délka

Určuje délku datového typu v paměti. Používá 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;> }>

>

>

Výstup

The sum of 99 and 1 is 100>

Příklad 2: printf se specifikovanou šířkou

V tomto příkladu zadáme šířku výstupu, který bude vytištěn funkcí 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;> }>

>

>

Výstup

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

Jak vidíme, i když definujeme šířku, která je menší než současné znaky, všechny znaky jsou stále vytištěny. Také jsme viděli dva způsoby, kterými můžeme definovat šířku.

Příklad 3: printf s přesným dílčím specifikátorem

V tomto příkladu předvedeme dílčí specifikátor přesnosti ve funkci 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;> }>

>

>

Výstup

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

Příklad 4: printf s dílčím specifikátorem délky

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

>

>

Výstup

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

Související články: