====== Funkce scanf() ====== Funkce ''scanf()'' slouží k načítání vstupu ze standardního vstupu. Jedná se o formátovaný vstup, takže můžeme přesně specifikovat v jakém tvaru má vstup být a funkce to při svém zpracování vezme v potaz. Funkce při svém vykonání počká, až uživatel zadá nějaký text na standardní vstup. Následně ho přečte, porovná s formátovacím řetězcem a pokusí se naplnit proměnné programu. ===== Parametry ===== Obvykle má minimálně dva parametry - **formátovací řetězec** a **//odkaz// na proměnnou**. **Formátovací řetězec** - zpravidla obsahuje specifikátor začínající znakem ''%'', který určuje datový typ hodnoty, kterou chceme načíst. **Odkaz na proměnnou** - správně ukazatel na proměnnou, nebo adresa proměnné - je typicky ''&'' (ampersand) a název proměnné. Např.: ''&promenna'' ===== Specifikátory ===== ^ Datový typ ^ specifikátor ^ Volání ^ ^ short | %hd | short prom; scanf("%hd", &prom); | ^ unsigned short | %hu | unsigned short prom; scanf("%hu", &prom); | ^ int | %d, nebo %i | int prom; scanf("%d", &prom); | ^ unsigned | %u | unsigned prom; scanf("%u", &prom); | ^ long | %ld | long prom; scanf("%ld", &prom); | ^ unsigned long | %lu | unsigned long prom; scanf("%lu", &prom); | ^ long long | %lld | long long prom; scanf("%lld", &prom); | ^ unsigned long long | %llu | unsigned long long prom; scanf("%llu", &prom); | ^ char | %c | char prom; scanf("%c", &prom); | ===== Příklad ===== Program v tomto příkladu požádá uživatele o zadání 2 hodnot (celočíselná a s plovoucí čárkou). Příklad je kompatibilní s kompilátorem VC+ #define _CRT_SECURE_NO_WARNINGS #include #include int main() { int celeCislo; printf("Zadejte cele cislo:"); scanf("%d", &celeCislo); double cislo; printf("Zadejte desetinne cislo (s desetinnou teckou):"); scanf("%lf", &cislo); // Výpis zadaných hodnot printf("Zadane cele cislo je %d\n", celeCislo); printf("Zadane cislo s plovouci carkou je %lf\n", cislo); return 0; }