Verschil tussen scanf en krijgt

Inhoudsopgave:

Verschil tussen scanf en krijgt
Verschil tussen scanf en krijgt

Video: Verschil tussen scanf en krijgt

Video: Verschil tussen scanf en krijgt
Video: Wat is het verschil tussen CC en BCC? 2024, Juli-
Anonim

Belangrijk verschil – scanf vs gets

Een functie is een set instructies om een specifieke taak uit te voeren. Zonder alle instructies in hetzelfde programma te schrijven, kan het worden onderverdeeld in meerdere functies. Bij 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 C-taal worden geleverd, zijn scanf en get. Dit artikel bespreekt het verschil tussen deze twee functies. Het belangrijkste verschil tussen scanf en get is dat scanf eindigt met het nemen van invoer bij het tegenkomen van een witruimte, nieuwe regel of End Of File (EOF), terwijl krijgt een witruimte beschouwt als het deel van de invoerreeks en de invoer beëindigt bij het tegenkomen van een nieuwe regel of EOF.

Wat is scanf?

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

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

Raadpleeg het onderstaande voorbeeld om scanf te begrijpen.

Verschil tussen scanf en krijgt
Verschil tussen scanf en krijgt
Verschil tussen scanf en krijgt
Verschil tussen scanf en krijgt

Figuur 01: scanf met één invoer

Volgens het bovenstaande programma is de invoer van het toetsenbord 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 getalvariabele. Daarom wordt het adres van het variabele nummer doorgegeven aan de scanf-functie. Nu bevat de getalvariabele de waarde die de gebruiker via het toetsenbord heeft gegeven. Ten slotte kunnen we de getalvariabele afdrukken om de waarde te controleren.

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

Verschil tussen scanf en get_Figuur 02
Verschil tussen scanf en get_Figuur 02
Verschil tussen scanf en get_Figuur 02
Verschil tussen scanf en get_Figuur 02

Figuur 02: scanf met meerdere ingangen

De ontvangen invoer wordt opgeslagen in variabele nummer1 en nummer2. Waarden kunnen worden gecontroleerd met behulp van printf.

Wat krijgt?

gets-functie wordt gebruikt om invoer van het toetsenbord te ontvangen tot een nieuwe regel of EOF wordt aangetroffen. De witruimte wordt beschouwd als een onderdeel van de invoer. De syntaxis voor de get-functie is als volgt.

gets(“waar de string moet worden opgeslagen”);

Als er een fout is bij het ontvangen van de string, retourneert de get-functie een null-waarde.

Verwijs naar het onderstaande voorbeeld,

Belangrijkste verschil tussen scanf en krijgt
Belangrijkste verschil tussen scanf en krijgt
Belangrijkste verschil tussen scanf en krijgt
Belangrijkste verschil tussen scanf en krijgt

Figuur 03: krijgt

De invoer wordt ontvangen door de get-functie en opgeslagen in variabele woord1. Als de programmeur scanf heeft gebruikt in plaats van krijgt en een tekenreeks invoert zoals "hallo wereld", zal scanf de tekenreeks als twee tekenreeksen lezen vanwege de witruimte. Maar krijgt zal het lezen als één string "hallo wereld".

Wat zijn de overeenkomsten tussen scanf en krijgt?

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

Wat is het verschil tussen scanf en get?

scanf vs gets

scanf is een C-functie om invoer van de standaardinvoer te lezen totdat een spatie, nieuwe regel of EOF wordt aangetroffen. gets is een C-functie om invoer van standaardinvoer te lezen totdat u een nieuwe regel of EOF tegenkomt. Het beschouwt witruimte als een onderdeel van de invoer.
Syntaxis
scanf functie neemt de format string en lijst met adressen van variabelen. bijv. scanf(“%d”, &nummer); gets 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 get zijn functies die worden geleverd door de programmeertaal C. De gebruiker hoeft deze functies niet vanaf het begin te implementeren. Ze kunnen ze direct in hun programma's gebruiken. Het verschil tussen scanf en get is dat scanf eindigt met het nemen van invoer bij het tegenkomen van een witruimte, nieuwe regel of End Of File (EOF) en dat een witruimte wordt beschouwd als het deel van de invoerreeks en de invoer beëindigt bij het tegenkomen van een nieuwe regel of EOF. Het gebruik van scanf of get hangt af van de manier waarop gebruikersinvoer van de standaardinvoer wordt ontvangen, wat meestal het toetsenbord 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 volgens de citatienota. Download hier de PDF-versie. Verschil tussen scanf en gets

Aanbevolen: