Více hodnot v jednom printf

Zatím každý printf vypisoval jednu hodnotu. Jeden printf jich ale zvládne víc. Pro každou hodnotu napište do textu jedno %d a samotné hodnoty pak uveďte za text, oddělené čárkami:

int jablka = 4;
int hrusky = 3;
printf("%d jablka a %d hrušky\n", jablka, hrusky);
printf("%d + %d = %d\n", jablka, hrusky, jablka + hrusky);

Vypíše:

4 jablka a 3 hrušky
4 + 3 = 7

Jak už víte z minulé lekce, text v uvozovkách je formátovací řetězec: určuje, jak bude řádek vypadat. Každé %d v něm je formátovací značka, tedy místo pro jednu hodnotu. printf je vyplňuje popořadě: první hodnota přijde na místo prvního %d, druhá na místo druhého a tak dál. Hodnotou může být proměnná, číslo nebo celý výpočet, třeba jablka + hrusky.

Na pořadí hodnot proto záleží. Když je prohodíte, prohodí se i ve výpisu:

int domaci = 2;
int hoste = 1;
printf("Domácí %d, hosté %d\n", hoste, domaci);

Vypíše:

Domácí 1, hosté 2

I mezery patří do formátovacího řetězce. printf ho vypíše přesně tak, jak je napsaný, takže "Skóre:%d" vypíše Skóre:3 a "Skóre: %d" vypíše Skóre: 3.

Počet formátovacích značek musí odpovídat počtu hodnot. Když nějaká hodnota chybí, překladač ohlásí more '%' conversions than data arguments, tedy že značek je víc než hodnot. Když je naopak jedna hodnota navíc, ohlásí data argument not used by format string.

Pokyny

Pod to vypište skóre jedním printf se dvěma %d. Čísla vezměte z proměnných domaci a hoste:

Skóre: 3:1

Na další řádek vypište tento text. Použijte jeden printf se třemi hodnotami: minuta, domaci a hoste. Čísla do textu nepište:

Po 90 minutách: 3:1

Nakonec vypište počet gólů jako výpočet. Třetí hodnotou bude domaci + hoste:

3 + 1 = 4 góly

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

3/11