A scanf és a gets közötti különbség

Tartalomjegyzék:

A scanf és a gets közötti különbség
A scanf és a gets közötti különbség

Videó: A scanf és a gets közötti különbség

Videó: A scanf és a gets közötti különbség
Videó: Difference Between scanf() And gets() Input Functions 2024, Július
Anonim

Kiemelt különbség – scanf vs gets

A függvény egy adott feladat végrehajtásához szükséges utasítások halmaza. Anélkül, hogy minden utasítást ugyanabba a programba írnánk, több függvényre osztható fel. A programozás során a felhasználó meghatározhatja saját funkcióit. Vannak programozási nyelvek által biztosított funkciók is. A C nyelv számos funkciót biztosít, így a programozó közvetlenül használhatja azokat anélkül, hogy az elejétől kezdve implementálná azokat. A C nyelv által biztosított két ilyen funkció a scanf és a gets. Ez a cikk a két funkció közötti különbséget tárgyalja. A legfontosabb különbség a scanf és a gets között az, hogy a scanf szóközzel, újsorral vagy fájlvéggel (EOF) való találkozáskor befejezi a bevitelt, míg a gets szóközt tekint a bemeneti karakterlánc részének, és befejezi a bevitelt, ha újsort vagy EOF-t talál.

Mi az a scanf?

A scanf funkció képes beolvasni a billentyűzetről érkező bemeneteket, és az adott formátum-specifikáció szerint tárolja azokat. Addig olvassa a bemenetet, amíg szóközt, újsort vagy EOF-t nem talál. A szintaxis a következő.

scanf(“formátumkarakterlánc”, változók címlistája);

A scanf megértéséhez tekintse meg az alábbi példát.

Különbség a scanf és a gets között
Különbség a scanf és a gets között
Különbség a scanf és a gets között
Különbség a scanf és a gets között

01. ábra: Scanf egy bemenettel

A fenti program szerint a billentyűzetről érkező bemenet egész szám, így a formátummeghatározó %d. Ha karakterértéket kap, a formátummeghatározó %c. Ha lebegőpontos értéket kap, a formátummeghatározó %f. A kapott bemeneti értéket a számváltozóban kell tárolni. Ezért a szám változó címe átkerül a scanf függvénybe. Most a számváltozó tartalmazza a felhasználó által a billentyűzetről megadott értéket. Végül kinyomtathatjuk a számváltozót az érték ellenőrzéséhez.

Lehetőség van egyszerre több érték fogadására is.

A scanf és a gets közötti különbség_2. ábra
A scanf és a gets közötti különbség_2. ábra
A scanf és a gets közötti különbség_2. ábra
A scanf és a gets közötti különbség_2. ábra

02. ábra: scanf több bemenettel

A fogadott bemenetek a number1 és number2 változóban tárolódnak. Az értékek a printf. használatával ellenőrizhetők

Mit kap?

A gets függvény a billentyűzetről érkező bevitel fogadására szolgál, amíg újsort vagy EOF-t nem talál. A szóköz a bemenet részének tekintendő. A gets függvény szintaxisa a következő.

gets(“hol tároljuk a karakterláncot”);

Ha hiba történik a karakterlánc fogadásakor, a gets függvény null értéket ad vissza.

Lásd az alábbi példát:

A legfontosabb különbség a scanf és a gets között
A legfontosabb különbség a scanf és a gets között
A legfontosabb különbség a scanf és a gets között
A legfontosabb különbség a scanf és a gets között

03. ábra: kap

A bemenetet a gets függvény veszi, és a word1 változóban tárolja. Ha a programozó a scanf parancsot használta a get helyett, és beír egy karakterláncot, például „hello world”, a scanf a szóköz miatt két karakterláncként fogja felolvasni a karakterláncot. De a Gets egyetlen karakterláncként fogja felolvasni: „hello world”.

Mi a hasonlóság a scanf és a gets között?

  • Mindkettő a C programozási nyelv által biztosított funkció.
  • Mindkettőnek tartalmaznia kell az stdio.h fejlécet a funkciók használatához.
  • Mindkettő használható arra, hogy bemenetet kapjon a szabványos bemenetről.

Mi a különbség a scanf és a gets között?

scanf vs gets

A scanf egy C függvény, amely a szabványos bemenetről olvassa be a bemenetet, amíg szóközzel, újsorral vagy EOF-jel nem találkozik. A gets egy C függvény, amely a szabványos bemenetről olvassa be a bemenetet egészen addig, amíg újsort vagy EOF-t nem talál. A szóközt a bemenet részének tekinti.
Szintaxis
scanf függvény a formátum karakterláncot és a változók címlistáját veszi fel. például. scanf(“%d”, &szám); A gets függvény a változó nevét veszi fel a kapott érték tárolására. Például. gets(name);
Rugalmasság
scanf képes beolvasni a különböző adattípusok több értékét. A gets() csak karakterlánc-adatokat kap.

Összefoglaló – scanf vs gets

A scanf és gets a C programozási nyelv által biztosított funkciók. A felhasználónak nem kell ezeket a funkciókat az elejétől fogva implementálnia. Közvetlenül használhatják őket programjaikban. A scanf és a gets közötti különbség az, hogy a scanf befejezi a bevitelt, ha szóközzel, újsorral vagy fájlvéggel (EOF) találkozik, és a gets szóközt tekint a bemeneti karakterlánc részének, és befejezi a bevitelt, ha újsor vagy EOF találkozik. A scanf vagy gets használata attól függ, hogy a szokásos bemenetről, amely az idő nagy részében a billentyűzetről érkezik a felhasználói bevitel. A scanf rugalmasabb, mint a gets.

A scanf vs gets PDF-verziójának letöltése

Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen. Különbség a scanf és a gets között

Ajánlott: