Skannauksen ja saamisen välinen ero

Sisällysluettelo:

Skannauksen ja saamisen välinen ero
Skannauksen ja saamisen välinen ero

Video: Skannauksen ja saamisen välinen ero

Video: Skannauksen ja saamisen välinen ero
Video: Sukupuolten eläke-erot -hankkeen päätösseminaari 28.10.2020 2024, Marraskuu
Anonim

Avainero – scanf vs gets

Funktio on joukko lauseita tietyn tehtävän suorittamiseksi. Ilman kaikkia lausekkeita samaan ohjelmaan, se voidaan jakaa useisiin funktioihin. Ohjelmoinnissa käyttäjä voi määritellä itse omat toiminnonsa. On myös ohjelmointikielten toimittamia toimintoja. C-kieli tarjoaa useita toimintoja, joten ohjelmoija voi käyttää niitä suoraan toteuttamatta niitä alusta alkaen. Kaksi tällaista C-kielen tarjoamaa toimintoa ovat scanf ja gets. Tässä artikkelissa käsitellään näiden kahden toiminnon eroa. Keskeinen ero scanf:n ja getsin välillä on, että scanf lopettaa syötteen kohdatessaan välilyönnin, rivinvaihdon tai tiedoston lopun (EOF), kun taas gets pitää välilyönnin osana syöttömerkkijonoa ja lopettaa syötteen kohtaaessaan rivinvaihdon tai EOF:n.

Mikä on scanf?

Scanf-toiminto voi lukea syötettä näppäimistöltä ja tallentaa ne annetun muotomääritteen mukaan. Se lukee syötteen kunnes kohtaa välilyönnin, rivinvaihdon tai EOF:n. Syntaksi on seuraava.

scanf("muotomerkkijono", muuttujien osoiteluettelo);

Katso alla oleva esimerkki ymmärtääksesi scanf.

Ero scanfin ja getsin välillä
Ero scanfin ja getsin välillä
Ero scanfin ja getsin välillä
Ero scanfin ja getsin välillä

Kuva 01: skannaus yhdellä tulolla

Edellä olevan ohjelman mukaan näppäimistöltä saatava syöte on kokonaisluku, joten muotomääritteenä on %d. Jos se saa merkkiarvon, muodon määrittäjä on %c. Jos saadaan liukulukuarvo, muodon määrittäjä on %f. Vastaanotettu syötearvo tulee tallentaa numeromuuttujaan. Siksi muuttujan numeron osoite välitetään scanf-funktioon. Nyt numeromuuttuja sisältää käyttäjän näppäimistöltä antaman arvon. Lopuksi voimme tulostaa numeromuuttujan tarkistaaksemme arvon.

Voit myös vastaanottaa useamman kuin yhden arvon kerrallaan.

Ero scanf:n ja getsin välillä_Kuva 02
Ero scanf:n ja getsin välillä_Kuva 02
Ero scanf:n ja getsin välillä_Kuva 02
Ero scanf:n ja getsin välillä_Kuva 02

Kuva 02: skannaus useilla tuloilla

Vastaanotetut tulot tallennetaan muuttujiin numero1 ja numero2. Arvot voidaan tarkistaa komennolla printf.

Mitä saa?

gets-toimintoa käytetään syötteiden vastaanottamiseen näppäimistöltä rivinvaihdon tai EOF:n kohtaamiseen. Välilyöntiä pidetään osana syötettä. Gets-funktion syntaksi on seuraava.

gets("mihin merkkijono tallennetaan");

Jos merkkijonoa vastaanotettaessa tapahtuu virhe, gets-funktio palauttaa nolla-arvon.

Katso alla oleva esimerkki,

Keskeinen ero scanfin ja getsin välillä
Keskeinen ero scanfin ja getsin välillä
Keskeinen ero scanfin ja getsin välillä
Keskeinen ero scanfin ja getsin välillä

Kuva 03: saa

Gets-funktio vastaanottaa syötteen ja tallentaa sen muuttujaan word1. Jos ohjelmoija käytti komentoa scanf gets ja syöttää merkkijonon, kuten "hello world" sijaan, scanf lukee merkkijonon kahtena merkkijonona välilyönnin vuoksi. Mutta gets lukee sen yhtenä merkkijonona "hello world".

Mitä yhtäläisyyksiä skannauksen ja saamisen välillä on?

  • Molemmat ovat C-ohjelmointikielen toimittamia toimintoja.
  • Molempien tulee sisältää otsikkotiedosto stdio.h, jotta näitä toimintoja voidaan käyttää.
  • Molempia voidaan käyttää syötteen saamiseksi vakiotulosta.

Mitä eroa scanf:n ja gettien välillä on?

scanf vs gets

scanf on C-funktio, joka lukee syötteen vakiosyötteestä, kunnes kohtaa välilyönnin, rivinvaihdon tai EOF:n. gets on C-funktio, joka lukee syötteen vakiosyötteestä rivinvaihdon tai EOF:n kohtaamiseen. Se pitää välilyöntejä osana syötettä.
Syntaksi
scanf-toiminto ottaa muotomerkkijonon ja muuttujien osoiteluettelon. esim. scanf("%d", &numero); gets-funktio ottaa muuttujan nimen tallentaakseen vastaanotetun arvon. Esim. gets(name);
Joustavuus
scanf voi lukea useita arvoja eri tietotyypeistä. gets() saa vain merkkijonotiedot.

Yhteenveto – scanf vs gets

scanf ja gets ovat ohjelmointikielen C toimittamia toimintoja. Käyttäjän ei tarvitse toteuttaa näitä toimintoja alusta alkaen. He voivat käyttää niitä suoraan ohjelmissaan. Ero scanf:n ja getsin välillä on se, että scanf lopettaa syöttämisen kohtaaessaan välilyönnin, rivinvaihdon tai tiedoston lopun (EOF) ja gets pitää välilyönnin osana syöttömerkkijonoa ja lopettaa syötteen kohtaaessaan rivinvaihdon tai EOF:n. Scanf:n tai getsin käyttö riippuu tavasta vastaanottaa käyttäjän syöte vakiosyötteestä, joka on useimmiten näppäimistö. scanf on joustavampi kuin gets.

Lataa PDF-versio sovelluksesta scanf vs gets

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero scanf:n ja gets:n välillä

Suositeltava: