Ključna razlika - scanf vs gets
Funkcija je nabor stavkov za izvajanje določene naloge. Brez pisanja vseh stavkov v isti program ga lahko razdelimo na več funkcij. Pri programiranju lahko uporabnik sam določi svoje funkcije. Obstajajo tudi funkcije, ki jih zagotavljajo programski jeziki. Jezik C ponuja številne funkcije, zato jih lahko programer uporablja neposredno, ne da bi jih od začetka implementiral. Dve takšni funkciji, ki ju ponuja jezik C, sta scanf in get. Ta članek obravnava razliko med tema dvema funkcijama. Ključna razlika med scanf in getom je ta, da scanf konča z vnosom, ko naleti na presledek, novo vrstico ali konec datoteke (EOF), medtem ko get upošteva presledek kot del vhodnega niza in zaključi vnos ob naletu na novo vrstico ali EOF.
VSEBINA
1. Pregled in ključna razlika
2. Kaj je scanf
3. Kaj je dobi
4. Podobnosti med scanf in getom
5. Vzporedna primerjava - scanf vs dobi v tabelarni obliki
6. Povzetek
Kaj je scanf?
Funkcija scanf lahko bere vnos s tipkovnice in jih shrani v skladu z danim specifikatorjem formata. Vhod prebere, dokler ne naleti na presledek, novo vrstico ali EOF. Sintaksa je naslednja.
scanf ("niz zapisa", seznam naslovov spremenljivk);
Oglejte si spodnji primer, da boste razumeli scanf.
Slika 01: scanf z enim vhodom
V skladu z zgornjim programom je vnos, ki ga dobimo s tipkovnice, celo število, zato je specifikator oblike% d. Če dobiva vrednost znaka, je specifikator formata% c. Če dobite vrednost s plavajočo vejico, je specifikator formata% f. Prejeto vhodno vrednost je treba shraniti v spremenljivko števila. Zato se naslov spremenljive številke prenese v funkcijo scanf. Sedaj številska spremenljivka vsebuje vrednost, ki jo uporabnik poda s tipkovnice. Končno lahko za preverjanje vrednosti natisnemo številsko spremenljivko.
Prav tako je mogoče hkrati prejeti več kot eno vrednost.
Slika 02: scanf z več vhodi
Prejeti vhodi se shranijo v spremenljivki številka1 in številka2. Vrednosti je mogoče preveriti s pomočjo printf.
Kaj je dobi?
dobi funkcijo s pomočjo sprejema vnos s tipkovnice, dokler ne naleti na novo vrstico ali EOF. Presledek je del vnosa. Sintaksa funkcije gets je naslednja.
dobi ("kam shraniti niz");
Če pride do napake pri sprejemanju niza, bo funkcija gets vrnila ničelno vrednost.
Glejte spodnji primer,
Slika 03: dobi
Vhod prejme funkcija dobi in shrani v spremenljivko word1. Če je programer uporabil scanf namesto, da dobi in vnese niz, kot je "hello world", bo scanf niz zaradi belih presledkov prebral kot dva. Ampak dobi ga bo prebral kot en niz "živjo svet".
Kakšne so podobnosti med scanf in getom?
- Obe funkciji zagotavljata programski jezik C.
- Oba bi morala vključevati glavo datoteke stdio.h za uporabo teh funkcij.
- Oboje lahko uporabimo za vnos s standardnega vhoda.
Kakšna je razlika med scanf in getom?
Diff Article Sredina pred mizo
scanf vs dobi |
|
scanf je funkcija C za branje vnosa s standardnega vhoda, dokler ne naleti na presledek, novo vrstico ali EOF. | gets je funkcija C za branje vhodov s standardnega vhoda, dokler ne naleti na novo vrstico ali EOF. Presledek obravnava kot del vnosa. |
Sintaksa | |
Funkcija scanf zavzame niz oblikovanja in seznam naslovov spremenljivk. npr. scanf ("% d", & število); | dobi funkcija vzame ime spremenljivke za shranjevanje prejete vrednosti. Npr. Dobi (ime); |
Prilagodljivost | |
scanf lahko bere več vrednosti različnih podatkovnih vrst. | gets () bo dobil samo podatke v nizu znakov. |
Povzetek - scanf vs gets
scanf in gets so funkcije, ki jih zagotavlja programski jezik C. Uporabniku teh funkcij ni treba izvajati od začetka. Lahko jih neposredno uporabljajo v svojih programih. Razlika med scanf in getom je v tem, da scanf konča z vnosom, ko naleti na presledek, novo vrstico ali konec datoteke (EOF), pri čemer upošteva presledek kot del vhodnega niza in zaključi vnos, ko naleti na novo vrstico ali EOF. Uporaba scanf ali get je odvisna od načina prejemanja uporabniškega vnosa s standardnega vhoda, ki je večino časa tipkovnica. scanf je bolj prilagodljiv kot dobi.
Prenesite PDF različico scanf vs gets
Lahko prenesete različico tega članka v obliki PDF in jo uporabite za uporabo brez povezave, kot je navedeno v opombi. Prosimo, prenesite različico PDF tukaj Razlika med scanf in getom