Instrukce printf je vaším primárním rozhraním pro odesílání dat na standardní výstup (stdout). Ve většině případů je standardním výstupem obrazovka. Můžete jej přesměrovat do souboru nebo předat jinému příkazu, ale když se učíte C, máte tendenci se dívat na text v terminálu.
Zde je základní program demonstrující, jak to funguje.
Uložte tento kód do souboru add.c. Zkompilujte jej pomocí příkazu gcc add.c -o add. Spusťte zadáním ./add.
Výsledek bude: 5 + 7 = 12.
Pojďme zjistit, co se děje pod kapotou.
Deklarování a přiřazování proměnných
Řádek int a, b, c; deklaruje tři celočíselné proměnné. Celá čísla (int) ukládají pouze celočíselné hodnoty. Žádná zlomková část.
Dále, a = 5; inicializuje proměnnou a s hodnotou 5.
Potom b = 7; nastaví proměnnou b na 7.
Další řádek je místo, kde operátor přiřazení vykonává svou práci: c = a + b;.
Počítač převezme hodnotu z a (což je 5). Přidá k němu hodnotu z b (což je 7). Výsledek je 12. Poté vloží tuto novou hodnotu do proměnné c.
Proměnná c je nyní nastavena na 12.
Jak printf odpovídá zástupným symbolům
Instrukce printf vytiskne řetězec “5 + 7 = 12”.
Podívejte se na formátovací řetězec: "%d + %d = %d\n".
Zástupné symboly %d fungují jako úseky hodnot. Tady jsou tři. Na konci řádku printf vidíte tři názvy proměnných: a, b a c.
C jim odpovídá v pořadí.
První %d odpovídá a. Je nahrazen 5.
Druhý %d odpovídá b. Je nahrazeno 7.
Třetí %d odpovídá c. Je nahrazen 12.
Znaménka plus, rovnítko a mezery jsou součástí samotného formátovacího řetězce. Automaticky se vkládají mezi příkazy %d přesně tak, jak jste je zadali v kódu.
Výsledek? Prázdný řádek textu na obrazovce.
Proč je to důležité? Protože výstupní formátování je způsob ladění. Jak poznáte, že vaše logika funguje, když nevidíte čísla? printf vám to řekne.
Ale není to jen o závěru. Jde o ovládání. Vy rozhodujete o tom, co uživatel uvidí. Vy rozhodujete, jak budou data prezentována.
Co znamená \n na konci? Toto je posun řádku. Bez něj může být váš další výstup slepený s aktuálním.
Vypadá to jednoduše. To je pravda. Ale tohle je základ. Všechno ostatní je postaveno na tomto.
Tento výstup můžete přesměrovat. Můžete formátovat čísla s plovoucí desetinnou čárkou, řetězce, hexadecimální hodnoty. Ale musíme začít odsud.























