Nøgleforskel - scanf vs gets
En funktion er et sæt udsagn for at udføre en bestemt opgave. Uden at skrive alle udsagn i det samme program kan det opdeles i flere funktioner. Ved programmering kan brugeren definere sine egne funktioner. Der er også funktioner leveret af programmeringssprog. C-sprog giver en række funktioner, så programmøren kan bruge dem direkte uden at implementere dem fra starten. To sådanne funktioner leveret af C-sprog er scanf og får. Denne artikel diskuterer forskellen mellem disse to funktioner. Hovedforskellen mellem scanf og get er, at scanf ender med at indtaste input, når de støder på et hvidt mellemrum, ny linje eller slutningen af fil (EOF), mens gets betragter et hvidt mellemrum som den del af inputstrengen og slutter input, når det møder newline eller EOF.
INDHOLD
1. Oversigt og
nøgleforskel 2. Hvad er scanf
3. Hvad får
4. Ligheder mellem scanf og får
5. Sammenligning side om side - scanf vs får i tabelform
6. Resumé
Hvad er scanf?
Scanf-funktionen kan læse input fra tastaturet og gemme dem i henhold til det givne format. Det læser input, indtil det møder et mellemrum, ny linje eller EOF. Syntaksen er som følger.
scanf ("formatstreng", liste over variabler);
Se eksemplet nedenfor for at forstå scanf.
Figur 01: scanf med en indgang
I henhold til ovenstående program er input, der kommer fra tastaturet, et heltal, så formatspecifikatoren er% d. Hvis det får en tegnværdi, er formatspecifikatoren% c. Hvis du får en flydende punktværdi, er formatspecifikatoren% f. Den modtagne inputværdi skal gemmes i nummervariablen. Derfor sendes adressen på det variable nummer til scanf-funktionen. Nu indeholder talvariablen den værdi, der er givet af brugeren fra tastaturet. Endelig kan vi udskrive talvariablen for at kontrollere værdien.
Det er også muligt at modtage mere end en værdi ad gangen.
Figur 02: scanf med flere indgange
De modtagne indgange lagres i variabel nummer 1 og nummer 2. Værdier kan kontrolleres ved hjælp af printf.
Hvad er får?
gets-funktionen bruger til at modtage input fra tastaturet, indtil man støder på en ny linje eller EOF. Det hvide område betragtes som en del af inputet. Syntaksen for get-funktionen er som følger.
får ("hvor strengen skal gemmes");
Hvis der er en fejl, når du modtager strengen, returnerer funktionen funktionen en nulværdi.
Se nedenstående eksempel,
Figur 03: får
Input modtages af get-funktionen og gemmes i variabelt word1. Hvis programmøren brugte scanf i stedet for at hente og indtaste en streng som “hej verden”, læser scanf strengen som to strenge på grund af det hvide område. Men får vil læse det som en streng “hej verden”.
Hvad er ligheden mellem scanf og get?
- Begge er funktioner leveret af C-programmeringssprog.
- Begge skal indeholde overskriftsfil stdio.h for at bruge disse funktioner.
- Begge kan bruges til at få input fra standardindgangen.
Hvad er forskellen mellem scanf og get?
Diff artikel midt foran bordet
scanf vs får |
|
scanf er en C-funktion til at læse input fra standardindgangen, indtil den møder et mellemrum, newline eller EOF. | får er en C-funktion til at læse input fra standardindgang, indtil man støder på en ny linje eller EOF. Det betragter hvidt mellemrum som en del af input. |
Syntaks | |
scanf-funktionen tager formatstrengen og listen over adresser på variabler. f.eks. scanf (“% d”, & nummer); | get-funktionen tager navnet på variablen for at gemme den modtagne værdi. F.eks. Får (navn); |
Fleksibilitet | |
scanf kan læse flere værdier af forskellige datatyper. | gets () får kun karakterstrengdata. |
Resumé - scanf vs gets
scanf og get er funktioner leveret af programmeringssprog C. Brugeren behøver ikke at implementere disse funktioner fra starten. De kan bruge dem direkte i deres programmer. Forskellen mellem scanf og get er, at scanf ender med input, når man møder et mellemrum, ny linje eller slutning af fil (EOF) og betragter et hvidt område som den del af inputstrengen, og slutter input, når man møder newline eller EOF. Brug af scanf eller get afhænger af, hvordan man modtager brugerinput fra standardinput, som er tastaturet det meste af tiden. scanf er mere fleksibel end bliver.
Download PDF-versionen af scanf vs gets
Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem scanf og get