====== 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;
}