Tärkein ero - scanf vs saa
Funktio on joukko lauseita tietyn tehtävän suorittamiseksi. Kirjoittamatta kaikkia lauseita samaan ohjelmaan, se voidaan jakaa useisiin toimintoihin. Ohjelmoinnissa käyttäjä voi määritellä omat toimintonsa. Ohjelmointikielet tarjoavat myös 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 välistä eroa. Tärkein ero scanf: n ja hakemusten välillä on se, että scanf lopettaa syötön kohdatessaan välilyönnin, uuden rivin tai tiedoston loppuosan (EOF), kun taas gets pitää tyhjää tilaa syötemerkkijonon osana ja lopettaa syötteen kohdatessaan uuden rivin tai EOF: n.
SISÄLLYS
1. Yleiskatsaus ja
avainerot 2. Mikä on scanf
3. Mikä on
4. Hyödyllisiä yhtäläisyyksiä scanf: n ja hakemusten välillä
5. Vertailu vierekkäin - scanf vs saa taulukkomuodossa
6. Yhteenveto
Mikä on scanf?
Scanf-toiminto voi lukea syötteitä näppäimistöltä ja tallentaa ne annetun muotoilijan mukaan. Se lukee syötteen, kunnes kohtaat tyhjätilan, uuden rivin tai EOF: n. Syntaksi on seuraava.
scanf (“format string”, muuttujien osoiteluettelo);
Katso alla olevaa esimerkkiä ymmärtääksesi scanf: n.
Kuva 01: scanf yhdellä tulolla
Yllä olevan ohjelman mukaan näppäimistöltä tuleva tulo on kokonaisluku, joten muodon määrittelijä on% d. Jos se saa merkin arvon, muodon määrittelijä on% c. Jos saat liukulukuarvon, muodon määrittelijä on% f. Vastaanotettu arvo tulisi tallentaa numeromuuttujaan. Siksi muuttuvanumeron osoite siirretään scanf-toimintoon. Numeromuuttuja sisältää nyt käyttäjän näppäimistöltä antaman arvon. Lopuksi voimme tulostaa numeromuuttujan arvon tarkistamiseksi.
On myös mahdollista saada useampi kuin yksi arvo kerrallaan.
Kuva 02: scanf useilla tuloilla
Vastaanotetut tulot tallennetaan muuttujiin numero 1 ja numero 2. Arvot voidaan tarkistaa käyttämällä printf.
Mitä saa?
saa -toiminnon avulla vastaanotetaan näppäimistöltä tuloa, kunnes kohtaat uuden rivin tai EOF: n. Välilyöntiä pidetään osana syötettä. Get-funktion syntaksitapa on seuraava.
gets ("mihin merkkijono tallennetaan");
Jos merkkijonoa vastaanotettaessa tapahtuu virhe, get-funktio palauttaa nolla-arvon.
Katso alla oleva esimerkki,
Kuva 03: saa
Get-funktio vastaanottaa syötteen ja tallentaa muuttuja word1. Jos ohjelmoija käytti scanf: tä hakemisen sijaan ja syöttää merkkijonon, kuten "hei maailma", scanf lukee merkkijonon kahtena merkkijonona tyhjätilan vuoksi. Mutta gets lukee sen yhtenä merkkijonona "hei maailma".
Mitkä ovat scanf: n ja hakemusten yhtäläisyydet?
- Molemmat ovat C-ohjelmointikielen tarjoamia toimintoja.
- Molempien tulisi sisältää otsikkotiedosto stdio.h käyttääksesi näitä toimintoja.
- Molempia voidaan käyttää tulon saamiseen vakiotulosta.
Mikä on ero scanf: n ja hakemusten välillä?
Erilainen artikkeli keskellä taulukkoa
scanf vs saa |
|
scanf on C-toiminto, jolla luetaan tulo vakiotulosta, kunnes kohtaat tyhjätilan, uuden rivin tai EOF: n. | gets on C-toiminto, jolla luetaan tulo vakiotulosta, kunnes kohtaat uuden rivin tai EOF: n. Se pitää tyhjää tilaa osana syötettä. |
Syntaksi | |
scanf-toiminto vie muotomerkkijonon ja muuttujien osoiteluettelon. esim. scanf ("% d", & numero); | get-funktio vie muuttujan nimen tallentaakseen vastaanotetun arvon. Esim. Saa (nimi); |
Joustavuus | |
scanf pystyy lukemaan useita arvoja eri tietotyypeistä. | gets () saa vain merkkijonotiedot. |
Yhteenveto - scanf vs saa
scanf ja gets ovat ohjelmointikielen C tarjoamia toimintoja. Käyttäjän ei tarvitse toteuttaa näitä toimintoja alusta alkaen. He voivat käyttää niitä suoraan ohjelmissaan. Ero scanf: n ja hakemusten välillä on se, että scanf lopettaa syötön kohdatessaan tyhjätilan, uuden rivin tai tiedoston lopun (EOF) ja saa välilyönnin syötemerkkijonon osaksi ja lopettaa syötteen kohdatessaan uuden rivin tai EOF: n. Scanf- tai get-sovelluksen käyttäminen riippuu tavasta, jolla käyttäjätiedot vastaanotetaan tavallisesta syötteestä, joka on suurimmaksi osaksi näppäimistö. scanf on joustavampi kuin saa.
Lataa scanf vs: n PDF-versio
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä Ero scanf: n ja gets: n välillä