Verschil tussen scanf en krijgt

Belangrijkste verschil - scanf vs wordt
 

Een functie is een verzameling instructies om een ​​specifieke taak uit te voeren. Zonder alle instructies in hetzelfde programma te schrijven, kan deze in meerdere functies worden verdeeld. Tijdens het programmeren kan de gebruiker zijn eigen functies definiëren. Er zijn ook functies die worden geboden door programmeertalen. C-taal biedt een aantal functies, zodat de programmeur ze direct kan gebruiken zonder ze vanaf het begin te implementeren. Twee van dergelijke functies die door de C-taal worden geleverd, zijn scanf en krijgen. Dit artikel bespreekt het verschil tussen deze twee functies. De belangrijk verschil tussen scanf en krijgt is dat scanf eindigt het nemen van invoer na het tegenkomen van een witruimte, newline of Einde van Bestand (EOF) terwijl krijgt beschouwt een witruimte als het deel van de invoerreeks en eindigt de invoer bij het tegenkomen van newline of EOF.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is scanf
3. Wat wordt er
4. Overeenkomsten Tussen scanf en krijgt
5. Vergelijking zij aan zij - scanf vs komt in tabelvorm
6. Samenvatting

Wat is scanf?

De scanf-functie kan de invoer van het toetsenbord lezen en ze opslaan volgens de opgegeven indelingsspecificatie. Het leest de invoer tot het tegenkomt een witruimte, newline of EOF. De syntaxis is als volgt.

            scanf ("format string", lijst met adressen van variabelen);

Raadpleeg het onderstaande voorbeeld om scanf te begrijpen.

Figuur 01:  scanf met één invoer

Volgens het bovenstaande programma is de invoer die van het toetsenbord komt een geheel getal, dus de formaatspecificatie is% d. Als het een tekenwaarde krijgt, is de indelingsspecificatie% c. Als u een drijvende-kommawaarde krijgt, is de indelingsspecificatie% f. De ontvangen invoerwaarde moet worden opgeslagen in de nummervariabele. Daarom wordt het adres van het variabele nummer doorgegeven aan de scanf-functie. Nu bevat de nummervariabele de waarde die de gebruiker van het toetsenbord heeft gekregen. Ten slotte kunnen we de nummervariabele afdrukken om de waarde te controleren.

Het is ook mogelijk om meer dan één waarde tegelijk te ontvangen.

Figuur 02: scanf met meerdere ingangen

De ontvangen ingangen worden opgeslagen in variabele nummer 1 en nummer2. Waarden kunnen worden gecontroleerd met behulp van printf.

Wat wordt er?

krijgt de functie wordt gebruikt om invoer van het toetsenbord te ontvangen tot een newline of EOF tegenkomt. De spatie wordt beschouwd als een onderdeel van de invoer. De syntaxis voor de functie krijgt als volgt.

            gets ("waar de string op te slaan");

Als er een fout optreedt bij het ontvangen van de tekenreeks, retourneert de krijgt-functie een nulwaarde.

Raadpleeg het onderstaande voorbeeld,

Figuur 03: krijgt

De invoer wordt ontvangen door de functie krijgt en opgeslagen in variabele word1. Als de programmeur scanf gebruikt in plaats van een string zoals "hello world" te krijgen en in te voeren, zal scanf de string als twee strings lezen vanwege de witruimte. Maar krijgt het als één snaar "hallo wereld".

Wat zijn de overeenkomsten tussen scanf en krijgt?

  • Beide zijn functies geleverd door C-programmeertaal.
  • Beide moeten headerbestand stdio.h bevatten om deze functies te gebruiken.
  • Beide kunnen worden gebruikt om input te krijgen van de standaardinvoer.

Wat is het verschil tussen scanf en krijgt?

scanf vs krijgt

scanf is een C-functie om invoer van de standaardinvoer te lezen totdat een witruimte, newline of EOF wordt tegengekomen.  krijgt is een C-functie om invoer van standaardinvoer te lezen totdat een newline of EOF wordt tegengekomen. Het beschouwt spatie als een deel van de invoer.
 Syntaxis
scanf-functie neemt de opmaakreeks en lijst met adressen van variabelen. bijv. scanf ("% d", & nummer); krijgt functie neemt de naam van de variabele om de ontvangen waarde op te slaan. Bijv. krijgt (naam);
Flexibiliteit
scanf kan meerdere waarden van verschillende gegevenstypen lezen. gets () krijgt alleen tekenreeksgegevens.

Samenvatting - scanf vs krijgt

scanf en krijgt zijn functies die worden geleverd door de programmeertaal C. De gebruiker hoeft deze functies niet vanaf het begin te implementeren. Ze kunnen ze rechtstreeks gebruiken in hun programma's. Het verschil tussen scanf en gets is dat scanf eindigt met het uitvoeren van een witruimte, newline of end of file (EOF) en beschouwt een witruimte als het deel van de invoerreeks en eindigt de invoer bij het tegenkomen van newline of EOF. Het gebruik van scanf of krijgen is afhankelijk van de manier waarop gebruikersinvoer wordt ontvangen van de standaardinvoer die het toetsenbord het grootste deel van de tijd is. scanf is flexibeler dan krijgt.

Download de PDF-versie van scanf vs gets

U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden, zoals per citaatnotitie. Download hier de PDF-versie. Verschil tussen scanf en krijgt

Referentie:

1.LearningLad., 'Scanf () Functie in C Programmering Taalvideo-tutorials' YouTube, YouTube, 23 april 2013. Beschikbaar Hier  
2.LearningLad, 'gets () String-invoervak ​​in C Programming Language Video Tutorial', YouTube, YouTube, 6 mei 2013. Beschikbaar Hier