Erinevus skannimise ja hankimise vahel

Sisukord:

Erinevus skannimise ja hankimise vahel
Erinevus skannimise ja hankimise vahel

Video: Erinevus skannimise ja hankimise vahel

Video: Erinevus skannimise ja hankimise vahel
Video: 5 klass ajalugu video 9 Eesti kiviaeg 2024, Juuli
Anonim

Põhierinevus – scanf vs gets

Funktsioon on lausete kogum konkreetse ülesande täitmiseks. Ilma kõiki avaldusi samasse programmi kirjutamata saab selle jagada mitmeks funktsiooniks. Programmeerimisel saab kasutaja ise oma funktsioone defineerida. Samuti on programmeerimiskeelte pakutavad funktsioonid. C-keel pakub mitmeid funktsioone, nii et programmeerija saab neid kasutada otse ilma neid algusest peale rakendamata. Kaks sellist C-keele pakutavat funktsiooni on scanf ja gets. Selles artiklis käsitletakse nende kahe funktsiooni erinevust. Peamine erinevus scanfi ja getsi vahel on see, et scanf lõpetab sisestamise pärast tühiku, reavahetuse või faililõpu (EOF) leidmist, samas kui gets käsitleb tühikut sisendstringi osana ja lõpetab sisendi reavahetuse või EOF-i kohtamisel.

Mis on scanf?

Scanf-funktsioon suudab lugeda klaviatuurilt sisendit ja salvestada need vastav alt antud vorminguspetsifikaatorile. See loeb sisendit seni, kuni kohtab tühiku, reavahetust või EOF-i. Süntaks on järgmine.

scanf(“vormingustring”, muutujate aadresside loend);

Skannimise mõistmiseks vaadake allpool toodud näidet.

Erinevus skannimise ja hankimise vahel
Erinevus skannimise ja hankimise vahel
Erinevus skannimise ja hankimise vahel
Erinevus skannimise ja hankimise vahel

Joonis 01: skannimine ühe sisendiga

Vastav alt ül altoodud programmile on klaviatuurilt saadav sisend täisarv, seega on vormingu määraja %d. Kui see saab märgiväärtust, on vormingu spetsifikaator %c. Ujukoma väärtuse hankimisel on vormingu spetsifikaator %f. Vastuvõetud sisendväärtus tuleks salvestada numbrimuutujasse. Seetõttu edastatakse muutuja numbri aadress funktsiooni scanf. Nüüd sisaldab numbrimuutuja väärtust, mille kasutaja on andnud klaviatuurilt. Lõpuks saame väärtuse kontrollimiseks printida numbrimuutuja.

Samuti on võimalik saada rohkem kui üks väärtus korraga.

Funktsioonide scanf ja gets erinevus_joonis 02
Funktsioonide scanf ja gets erinevus_joonis 02
Funktsioonide scanf ja gets erinevus_joonis 02
Funktsioonide scanf ja gets erinevus_joonis 02

Joonis 02: skannimine mitme sisendiga

Vastuvõetud sisendid salvestatakse muutujatesse number1 ja number2. Väärtusi saab kontrollida käsuga printf.

Mis saab?

Funktsioon gets kasutab klaviatuurilt sisendi vastuvõtmiseks kuni reavahetuse või EOF-i leidmiseni. Tühikut peetakse sisendi osaks. Funktsiooni gets süntaks on järgmine.

gets("kuhu stringi salvestada");

Kui stringi vastuvõtmisel ilmneb tõrge, tagastab funktsioon gets nullväärtuse.

Vaadake allolevat näidet,

Peamised erinevused skannimise ja hankimise vahel
Peamised erinevused skannimise ja hankimise vahel
Peamised erinevused skannimise ja hankimise vahel
Peamised erinevused skannimise ja hankimise vahel

Joonis 03: saab

Sisendi võtab vastu funktsioon gets ja see salvestatakse muutujasse word1. Kui programmeerija kasutas funktsiooni gets ja sisestas stringi, näiteks "tere maailm" asemel scanf, loeb scanf tühiku tõttu stringi kahe stringina. Aga Gets loeb seda ühe stringina "tere maailm".

Millised on skannimise ja getide sarnasused?

  • Mõlemad on C-programmeerimiskeele pakutavad funktsioonid.
  • Nende funktsioonide kasutamiseks peaksid mõlemad sisaldama päisefaili stdio.h.
  • Mõlemat saab kasutada standardsisendist sisendi saamiseks.

Mis vahe on skaneerimisel ja hankimisel?

scanf vs gets

scanf on C-funktsioon sisendi lugemiseks standardsisendist kuni tühiku, reavahetuse või EOF-i kohtamiseni. gets on C-funktsioon sisendi lugemiseks standardsisendist kuni reavahetuse või EOF-i leidmiseni. See käsitleb tühikuid sisendi osana.
Süntaks
Funktsioon scanf võtab vormingustringi ja muutujate aadresside loendi. nt. scanf("%d", &number); Funktsioon gets võtab vastuvõetud väärtuse salvestamiseks muutuja nime. Nt. gets(name);
Paindlikkus
scanf suudab lugeda mitut erinevat tüüpi andmetüüpi väärtust. gets() saab ainult märgistringi andmed.

Kokkuvõte – scanf vs gets

scanf ja gets on funktsioonid, mida pakub programmeerimiskeel C. Kasutaja ei pea neid funktsioone algusest peale rakendama. Nad saavad neid oma programmides otse kasutada. Erinevus scanfi ja getsi vahel seisneb selles, et scanf lõpetab sisendi sisestamise tühikute, reavahetuse või faili lõpu (EOF) kohtamisel ja gets käsitleb tühikut sisendstringi osana ning reavahetuse või EOF-i kohtamisel lõpetab sisendi. Scanf või getsi kasutamine sõltub sellest, kuidas kasutaja sisendit vastu võtta standardsisendist, mis on enamasti klaviatuur. scanf on paindlikum kui gets.

Laadige alla faili scanf vs gets PDF-versioon

Saate alla laadida selle artikli PDF-versiooni ja kasutada seda võrguühenduseta kasutamiseks vastav alt tsitaadi märkusele. Palun laadige PDF-versioon alla siit. Erinevus skannimise ja hankimise vahel

Soovitan: