Funkce je sada příkazů k provedení určitého úkolu. Bez zápisu všech příkazů ve stejném programu může být rozdělen do několika funkcí. Při programování může uživatel definovat své vlastní funkce. K dispozici jsou také funkce poskytované programovacími jazyky. Jazyk C poskytuje řadu funkcí, takže je programátor může používat přímo, aniž by je implementoval od začátku. Dvě takové funkce poskytované jazykem C jsou scanf a získává. Tento článek popisuje rozdíl mezi těmito dvěma funkcemi. klíčový rozdíl mezi scanf a get je to scanf ukončí vstup po setkání s mezerou, newline nebo End Of File (EOF), zatímco get považuje mezeru za část vstupního řetězce a ukončí vstup po setkání s newline nebo EOF.
1. Přehled a klíčový rozdíl
2. Co je to scanf
3. Co se dostane
4. Podobnosti mezi scanf a get
5. Porovnání bok po boku - scanf vs dostane tabulkovou formu
6. Shrnutí
Funkce scanf umí číst vstup z klávesnice a ukládat je podle zadaného specifikátoru formátu. Čte vstup, dokud nenarazíte na mezeru, nový řádek nebo EOF. Syntaxe je následující.
scanf („formátovací řetězec“, seznam adres proměnných);
Pro porozumění scanf viz níže uvedený příklad.
Obrázek 01: scanf s jedním vstupem
Podle výše uvedeného programu je vstup získávaný z klávesnice celé číslo, takže specifikátor formátu je% d. Pokud získává znakovou hodnotu, je specifikátor formátu% c. Pokud získáváte hodnotu s pohyblivou řádovou čárkou, je specifikátor formátu% f. Přijatá vstupní hodnota by měla být uložena v proměnné number. Proto je adresa proměnné číslo předána do funkce scanf. Proměnná number nyní obsahuje hodnotu zadanou uživatelem z klávesnice. Nakonec můžeme vytisknout číselnou proměnnou a zkontrolovat hodnotu.
Je také možné přijímat více než jednu hodnotu najednou.
Obrázek 02: scanf s více vstupy
Přijaté vstupy jsou uloženy v proměnných číslo 1 a číslo 2. Hodnoty lze zkontrolovat pomocí printf.
Funkce get se používá k přijímání vstupu z klávesnice, dokud nenarazí na nový řádek nebo EOF. Mezera je považována za součást vstupu. Syntaxe funkce get je následující.
get („kam uložit řetězec“);
Pokud při přijímání řetězce dojde k chybě, funkce get vrátí nulovou hodnotu.
Viz níže uvedený příklad,
Obrázek 03: dostane
Vstup je přijímán funkcí get a uložen do proměnného word1. Pokud programátor použil scanf místo get a vložil řetězec, například „hello world“, scanf načte řetězec jako dva řetězce kvůli mezeru. Ale dostane to přečte jako jeden řetězec „ahoj svět“.
scanf vs dostane | |
scanf je funkce C pro čtení vstupu ze standardního vstupu, dokud nenarazíte na mezeru, nový řádek nebo EOF. | get je funkce C pro čtení vstupu ze standardního vstupu, dokud nenarazí na nový řádek nebo EOF. Za součást vstupu považuje mezeru. |
Syntax | |
Funkce scanf vezme formátovací řetězec a seznam adres proměnných. např. scanf („% d“, & číslo); | Funkce get vezme jméno proměnné pro uložení přijaté hodnoty. Např. dostane (jméno); |
Flexibilita | |
scanf umí číst více hodnot různých datových typů. | get () získá pouze data řetězce znaků. |
scanf a get jsou funkce poskytované programovacím jazykem C. Uživatel nemusí tyto funkce implementovat od začátku. Mohou je přímo použít ve svých programech. Rozdíl mezi scanf a get je v tom, že scanf končí vstupem, když narazí na mezeru, nový řádek nebo End Of File (EOF), a považuje mezeru za část vstupního řetězce a ukončí vstup, když narazí na nový řádek nebo EOF. Použití scanf nebo get závisí na způsobu, jak získat uživatelský vstup od standardního vstupu, který je většinou klávesnicí. scanf je flexibilnější než dostane.
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si prosím PDF verzi zde Rozdíl mezi scanf a get
1.LearningLad., 'Scanf () funkce v C Programovací jazyk Video tutoriály' YouTube, YouTube, 23. dubna 2013. K dispozici zde
2.LearningLad, 'get () String Input Function in C Programming Language Video Tutorial', YouTube, YouTube, 6. května 2013. K dispozici zde