Galvenā atšķirība - scanf vs gets
Funkcija ir priekšrakstu kopums, lai veiktu konkrētu uzdevumu. Nerakstot visus paziņojumus vienā programmā, to var sadalīt vairākās funkcijās. Programmēšanā lietotājs var definēt savas funkcijas. Ir arī funkcijas, ko nodrošina programmēšanas valodas. C valoda nodrošina vairākas funkcijas, tāpēc programmētājs var tās izmantot tieši, neieviešot tās no paša sākuma. Divas šādas funkcijas, ko nodrošina C valoda, ir scanf un gets. Šajā rakstā ir apskatīta atšķirība starp šīm divām funkcijām. Galvenā atšķirība starp scanf un gets ir tā, ka scanf beidz ievadīt ievadi, saskaroties ar atstarpi, jauna rindiņa vai faila beigas (EOF), turpretim Gets uzskata atstarpi par ievades virknes daļu un beidz ievadi, saskaroties ar atstarpi vai EOF.
Kas ir scanf?
Funkcija scanf var nolasīt ievadi no tastatūras un saglabāt tos atbilstoši norādītajam formāta specifikatoram. Tas nolasa ievadi, līdz tiek parādīta atstarpe, jauna rindiņa vai EOF. Sintakse ir šāda.
scanf(“formāta virkne”, mainīgo adrešu saraksts);
Skatiet tālāk sniegto piemēru, lai saprastu scanf.
Attēls 01: skenēšana ar vienu ievadi
Saskaņā ar iepriekš minēto programmu, ievade, kas tiek iegūta no tastatūras, ir vesels skaitlis, tāpēc formāta norādītājs ir %d. Ja tas iegūst rakstzīmes vērtību, formāta norādītājs ir %c. Ja tiek iegūta peldošā komata vērtība, formāta norādītājs ir %f. Saņemtā ievades vērtība jāsaglabā skaitļa mainīgajā. Tāpēc mainīgā numura adrese tiek nodota funkcijai scanf. Tagad skaitļa mainīgais satur vērtību, ko lietotājs ir norādījis no tastatūras. Visbeidzot, mēs varam izdrukāt skaitļa mainīgo, lai pārbaudītu vērtību.
Ir iespējams arī saņemt vairāk nekā vienu vērtību vienlaikus.
Attēls 02: skenēšana ar vairākām ieejām
Saņemtās ievades tiek saglabātas mainīgajā number1 un number2. Vērtības var pārbaudīt, izmantojot printf.
Kas tiek iegūts?
Funkcija gets tiek izmantota, lai saņemtu ievadi no tastatūras, līdz tiek parādīta jauna rindiņa vai EOF. Atstarpe tiek uzskatīta par ievades daļu. Funkcijas Gets sintakse ir šāda.
gets(“kur saglabāt virkni”);
Ja, saņemot virkni, rodas kļūda, funkcija gets atgriezīs nulles vērtību.
Skatiet tālāk redzamo piemēru,
03. attēls: saņem
Ievadi saņem funkcija gets un saglabā mainīgajā word1. Ja programmētājs izmantoja scanf, nevis gets un ievada virkni, piemēram, “sveiki pasaule”, scanf nolasīs virkni kā divas virknes atstarpes dēļ. Bet Gets to izlasīs kā vienu virkni “sveika pasaule”.
Kādas ir līdzības starp scanf un gets?
- Abas ir funkcijas, ko nodrošina C programmēšanas valoda.
- Lai izmantotu šīs funkcijas, abos ir jāiekļauj galvenes fails stdio.h.
- Abus var izmantot, lai iegūtu ievadi no standarta ievades.
Kāda ir atšķirība starp scanf un gets?
scanf vs gets |
|
scanf ir C funkcija, lai nolasītu ievadi no standarta ievades, līdz tiek parādīta atstarpe, jauna rindiņa vai EOF. | gets ir C funkcija, lai nolasītu ievadi no standarta ievades līdz jaunajai rindai vai EOF. Tas uzskata atstarpes kā daļu no ievades. |
Sintakse | |
Funkcija scanf ņem formāta virkni un mainīgo adrešu sarakstu. piem. scanf("%d", &number); | Funkcija gets izmanto mainīgā nosaukumu, lai saglabātu saņemto vērtību. Piem. gets(name); |
Elastība | |
scanf var nolasīt vairākas dažādu datu tipu vērtības. | gets() iegūs tikai rakstzīmju virknes datus. |
Kopsavilkums - scanf vs gets
scanf un gets ir funkcijas, ko nodrošina programmēšanas valoda C. Lietotājam šīs funkcijas nav jāievieš no paša sākuma. Viņi tos var tieši izmantot savās programmās. Atšķirība starp scanf un gets ir tāda, ka, saskaroties ar atstarpi, jaunu rindiņu vai faila beigas (EOF), Scanf beidz ievadīt ievadi, un tiek uzskatīts, ka atstarpe ir ievades virknes daļa, un beidz ievadi, saskaroties ar jaunu rindiņu vai EOF. Scanf vai gets izmantošana ir atkarīga no veida, kā saņemt lietotāja ievadi no standarta ievades, kas lielākoties ir tastatūra. scanf ir elastīgāks nekā gets.
Lejupielādēt Scanf vs gets PDF versiju
Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit Atšķirība starp scanf un gets