Forskjellen mellom scanf og gets

Innholdsfortegnelse:

Forskjellen mellom scanf og gets
Forskjellen mellom scanf og gets

Video: Forskjellen mellom scanf og gets

Video: Forskjellen mellom scanf og gets
Video: getc, getch, getche and getchar in C 2024, November
Anonim

Nøkkelforskjell – scanf vs gets

En funksjon er et sett med setninger for å utføre en spesifikk oppgave. Uten å skrive alle utsagn i samme program, kan det deles inn i flere funksjoner. Ved programmering kan brukeren definere sine egne funksjoner. Det er også funksjoner som tilbys av programmeringsspråk. C-språket gir en rekke funksjoner, slik at programmereren kan bruke dem direkte uten å implementere dem fra begynnelsen. To slike funksjoner levert av C-språket er scanf og gets. Denne artikkelen diskuterer forskjellen mellom disse to funksjonene. Den viktigste forskjellen mellom scanf og gets er at scanf slutter å ta innspill når han møter et mellomrom, nylinje eller End Of File (EOF), mens get betrakter et mellomrom som en del av inndatastrengen og avslutter inngangen når han møter ny linje eller EOF.

Hva er scanf?

Scanf-funksjonen kan lese inndata fra tastaturet og lagre dem i henhold til den gitte formatspesifikasjonen. Den leser inndataene til den møter et mellomrom, ny linje eller EOF. Syntaksen er som følger.

scanf(“formatstreng”, liste over adresser med variabler);

Se eksemplet nedenfor for å forstå scanf.

Forskjellen mellom scanf og gets
Forskjellen mellom scanf og gets
Forskjellen mellom scanf og gets
Forskjellen mellom scanf og gets

Figur 01: skanning med én inngang

I følge programmet ovenfor er inndataene fra tastaturet et heltall, så formatspesifikasjonen er %d. Hvis den får en tegnverdi, er formatspesifikasjonen %c. Hvis du får en flyttallsverdi, er formatspesifikasjonen %f. Den mottatte inngangsverdien skal lagres i tallvariabelen. Derfor sendes adressen til variabelnummeret inn i scanf-funksjonen. Nå inneholder tallvariabelen verdien gitt av brukeren fra tastaturet. Til slutt kan vi skrive ut tallvariabelen for å sjekke verdien.

Det er også mulig å motta mer enn én verdi om gangen.

Forskjellen mellom scanf og gets_Figure 02
Forskjellen mellom scanf og gets_Figure 02
Forskjellen mellom scanf og gets_Figure 02
Forskjellen mellom scanf og gets_Figure 02

Figur 02: skanning med flere innganger

De mottatte inngangene lagres i variabel nummer1 og nummer2. Verdier kan kontrolleres ved å bruke printf.

What is gets?

gets-funksjonen brukes til å motta input fra tastaturet til du møter en ny linje eller EOF. Mellomrommet betraktes som en del av inngangen. Syntaksen for gets-funksjonen er som følger.

gets(“hvor skal du lagre strengen”);

Hvis det er en feil ved mottak av strengen, vil gets-funksjonen returnere en nullverdi.

Se eksemplet nedenfor,

Nøkkelforskjell mellom scanf og gets
Nøkkelforskjell mellom scanf og gets
Nøkkelforskjell mellom scanf og gets
Nøkkelforskjell mellom scanf og gets

Figur 03: blir

Inputen mottas av gets-funksjonen og lagres i variabel word1. Hvis programmereren brukte scanf i stedet for å hente og legge inn en streng som "hello world", vil scanf lese strengen som to strenger på grunn av mellomrommet. Men gets vil lese den som én streng «hello world».

Hva er likhetene mellom scanf og gets?

  • Begge er funksjoner levert av programmeringsspråket C.
  • Begge bør inkludere overskriftsfil stdio.h for å bruke disse funksjonene.
  • Begge kan brukes til å få inndata fra standardinndata.

Hva er forskjellen mellom scanf og gets?

scanf vs gets

scanf er en C-funksjon for å lese inndata fra standardinndata til du møter et mellomrom, ny linje eller EOF. gets er en C-funksjon for å lese inndata fra standardinndata til du møter en ny linje eller EOF. Den betrakter mellomrom som en del av inndata.
Syntaks
scanf-funksjonen tar formatstrengen og listen over adresser til variabler. f.eks. scanf(“%d”, &number); gets-funksjonen tar navnet på variabelen for å lagre den mottatte verdien. f.eks. får(navn);
Fleksibilitet
scanf kan lese flere verdier av forskjellige datatyper. gets() vil bare få tegnstrengdata.

Sammendrag – scanf vs gets

scanf og gets er funksjoner levert av programmeringsspråket C. Brukeren trenger ikke å implementere disse funksjonene fra begynnelsen. De kan bruke dem direkte i programmene sine. Forskjellen mellom scanf og gets er at scanf slutter med å ta innspill ved å støte på et mellomrom, nylinje eller End Of File (EOF) og betrakter et mellomrom som en del av inndatastrengen og avslutter inndata ved å møte nylinje eller EOF. Bruk av scanf eller gets avhenger av måten å motta brukerinndata på fra standardinngangen som er tastaturet mesteparten av tiden. scanf er mer fleksibelt enn det blir.

Last ned PDF-versjonen av scanf vs gets

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til offline-formål i henhold til sitat. Last ned PDF-versjon her Forskjellen mellom scanf og gets

Anbefalt: