Klíčový rozdíl - scanf vs dostane
Funkce je sada příkazů k provedení konkrétního úkolu. Bez psaní všech příkazů ve stejném programu jej lze rozdělit na více funkcí. V 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 programátor je může používat přímo, aniž by je implementoval od začátku. Dvě takové funkce poskytované jazykem C jsou scanf a gets. Tento článek pojednává o rozdílu mezi těmito dvěma funkcemi. Klíčovým rozdílem mezi skenováním a získáváním je to, že skenování končí vstupem při narušení mezery, nového řádku nebo konce souboru (EOF), zatímco get považuje mezeru za část vstupního řetězce a končí vstup při narušení nového řádku nebo EOF.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je to scanf
3. Co je to get
4. Podobnosti mezi scanf a gets
5. Side by Side Comparison - scanf vs gets in Tabular Form
6. Summary
Co je to Scanf?
Funkce scanf umí číst vstup z klávesnice a ukládat je podle zadaného specifikátoru formátu. Čte vstup, dokud nenarazí na mezery, nový řádek nebo EOF. Syntaxe je následující.
scanf („formátovací řetězec“, seznam adres proměnných);
Chcete-li porozumět skenování, podívejte se na 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á hodnotu znaku, specifikátor formátu je% c. Pokud získáte hodnotu s plovoucí desetinnou čárkou, specifikátor formátu je% f. Přijatá vstupní hodnota by měla být uložena v proměnné number. Proto je adresa proměnného čísla předána do funkce scanf. Nyní obsahuje číselná proměnná hodnotu danou 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 number1 a number2. Hodnoty lze zkontrolovat pomocí printf.
Co je to?
Funkce gets používá pro příjem vstupu z klávesnice, dokud nenarazí na nový řádek nebo EOF. Mezery se považují za součást vstupu. Syntaxe funkce gets je následující.
gets („kde uložit řetězec“);
Pokud dojde k chybě při příjmu řetězce, funkce get vrátí hodnotu null.
Viz níže uvedený příklad,
Obrázek 03: dostane
Vstup je přijat funkcí get a uložen do proměnné word1. Pokud programátor použil scanf namísto get a zadal řetězec jako „hello world“, scanf přečte řetězec jako dva řetězce kvůli mezerám. Ale dostane to přečte jako jeden řetězec „ahoj svět“.
Jaké jsou podobnosti mezi scanf a gets?
- Obě jsou funkce poskytované programovacím jazykem C.
- K použití těchto funkcí by oba měly obsahovat hlavičkový soubor stdio.h.
- Oba lze použít k získání vstupu ze standardního vstupu.
Jaký je rozdíl mezi scanf a gets?
Rozdílný článek uprostřed před tabulkou
scanf vs dostane |
|
scanf je funkce C pro čtení vstupu ze standardního vstupu, dokud nenarazí na mezery, nový řádek nebo EOF. | gets je funkce C pro čtení vstupu ze standardního vstupu, dokud nenarazí na nový řádek nebo EOF. Zvažuje mezery jako součást vstupu. |
Syntax | |
Funkce scanf přebírá formátovací řetězec a seznam adres proměnných. např. scanf („% d“, & number); | Funkce get přebírá název proměnné k uložení přijaté hodnoty. Např. Dostane (jméno); |
Flexibilita | |
scanf umí číst více hodnot různých datových typů. | gets () získá pouze data řetězce znaků. |
Shrnutí - scanf vs dostane
scanf and gets 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 gets spočívá v tom, že scanf končí při vstupu při setkání s mezerami, novým řádkem nebo koncem souboru (EOF) a dostane za mezeru jako součást vstupního řetězce a končí vstup při setkání s novým řádkem nebo EOF. Použití funkce scanf or gets závisí na způsobu, jak přijímat vstup uživatele ze standardního vstupu, kterým je většinu času klávesnice. scanf je flexibilnější než dostane.
Stáhněte si PDF verzi scanf vs gets
Můžete si stáhnout verzi tohoto článku ve formátu PDF a použít jej pro offline účely podle citace. Stáhněte si zde verzi PDF. Rozdíl mezi skenováním a získáním