Instrukce printf je váš primární nástroj pro odesílání dat na standardní výstup. Ve většině vývojových prostředí to znamená obrazovku terminálu. Tento výstup můžete přesměrovat do souborů nebo rour, ale pro účely učení stačí vědět, že je zobrazen na obrazovce.
Níže je praktický příklad demonstrující, jak funkce funguje ve skutečném programu C.
Psaní kódu
Uložte následující kód do souboru s názvem add.c.
Kompilace a spuštění
Tento kód musí být před spuštěním zkompilován. K zadání názvu spustitelného souboru použijte kompilátor GCC s příznakem -o.
Spusťte tento příkaz v terminálu:
gcc add.c -o add
Poté spusťte program:
./add
Výsledek bude následující:
“5 + 7 = 12”.
Analýza logiky
Program před odesláním čehokoli provede čtyři různé akce.
1. Deklarování proměnných
Řádek int a, b, c; vytváří tři celočíselné proměnné. Celá čísla (int) ukládají celočíselné hodnoty. Nepodporují desetinná místa ani zlomky.
2. Inicializace
Následující dva řádky přiřazují hodnoty prvním dvěma proměnným.
‘a = 5;’
“b = 7;”.
3. Zadání a aritmetika
Řádek c = a + b; provede výpočet. Počítač převezme hodnotu a (5) a přidá k ní hodnotu b (7). Výsledek je 12. Tato hodnota se pak uloží do proměnné c. Rovnítko je zde operátor přiřazení. Neznamená to „rovný“ v matematickém smyslu. Znamená to “umístit výsledek výrazu vpravo do proměnné vlevo.”
4. Výstupní formátování
Zde vstupuje do hry printf. Funkce zobrazí na obrazovce řetězec "5 + 7 = 12". Dělá to tak, že se zástupné symboly ve formátovacím řetězci shodují s proměnnými uvedenými na konci.
Formátovací řetězec obsahuje tři zástupné symboly %d.
– První %d odpovídá proměnné a.
– Druhé %d odpovídá proměnné b.
– Třetí %d odpovídá proměnné c.
C nahradí každý zástupný symbol aktuální hodnotou odpovídající proměnné. Znaménka plus, rovnítko a mezery jsou pevně zakódovány do formátovacího řetězce. Zobrazují se přesně tam, kde jste je zadali. Sekvence \n na konci vynutí přidání nového řádku za výstup.
Proč je to důležité?
Možná se ptáte, proč rovnou nevypsat čísla. Pevně zakódovaná instrukce printf("5 + 7 = 12\n"); funguje pro statické hodnoty. Při změně proměnných přestane úplně fungovat. Specifikátor %d umožňuje, aby váš kód zůstal flexibilní. Strukturu definujete jednou a proměnné nahrazují své hodnoty za běhu. Právě oddělení mezi formátem a daty dělá formátovaný výstup tak výkonným.
Dalším detailem, který je často přehlížen, je znak \n. Bez






















