Zobrazit stránkuStarší verzeZpětné odkazyNahoru Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ====== 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 | <code c>short prom; scanf("%hd", &prom);</code> | ^ unsigned short | %hu | <code c>unsigned short prom; scanf("%hu", &prom);</code> | ^ int | %d, nebo %i | <code c>int prom; scanf("%d", &prom);</code> | ^ unsigned | %u | <code c>unsigned prom; scanf("%u", &prom);</code> | ^ long | %ld | <code c>long prom; scanf("%ld", &prom);</code> | ^ unsigned long | %lu | <code c>unsigned long prom; scanf("%lu", &prom);</code> | ^ long long | %lld | <code c>long long prom; scanf("%lld", &prom);</code> | ^ unsigned long long | %llu | <code c>unsigned long long prom; scanf("%llu", &prom);</code> | ^ char | %c | <code c>char prom; scanf("%c", &prom);</code> | ===== 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+ <code c> #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> 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; } </code> ccpp/scanf.txt Poslední úprava: 2020/11/13 11:12autor: bures