logo

scanf in C

In de programmeertaal C is scanf een functie die staat voor Scan Formatted String. Het wordt gebruikt om gegevens uit stdin (standaardinvoerstroom, d.w.z. meestal toetsenbord) te lezen en schrijft vervolgens het resultaat in de gegeven argumenten.

  • Het accepteert teken-, tekenreeks- en numerieke gegevens van de gebruiker met behulp van standaardinvoer.
  • scanf gebruikt ook formaatspecificaties zoals printf.

scanf-syntaxis

De syntaxis van scanf() in C is vergelijkbaar met de syntaxis van printf().



int scanf(  const char * format , ... );>

Hier,

    int is het retourtype. format is een tekenreeks die de formaatspecificatie(s) bevat. … geeft aan dat de functie een variabel aantal argumenten accepteert.

Voorbeeldformaatspecificaties herkend door scanf:

%D om invoer van gehele getallen te accepteren.



%ld om invoer van lange gehele getallen te accepteren

%lld om invoer van lange lange gehele getallen te accepteren

java wiskunde pow

%F om invoer van een reëel getal te accepteren.



%C om invoer van tekentypen te accepteren.

%S om de invoer van een string te accepteren.

Raadpleeg dit artikel voor meer informatie over formaatspecificaties: Formaatspecificaties in C

Voorbeeld:

int waar;
scanf(%d, &var);

De scanf schrijft de door de gebruiker ingevoerde waarde in de integer-variabele was.

Retourwaarde van scanf

De scanf in C retourneert drie soorten waarden:

    >0: Het aantal waarden dat met succes is geconverteerd en toegewezen. 0: Er is geen waarde toegekend. <0: Er is een leesfout opgetreden of het einde van het bestand (EOF) is bereikt voordat er een toewijzing is uitgevoerd.

Waarom &?

Tijdens het scannen van de invoer moet scanf die invoergegevens ergens opslaan. Om deze invoergegevens op te slaan, moet scanf de geheugenlocatie van een variabele kennen. En hier komt het ampersand om te redden.

  • & wordt ook wel genoemd als adres van de exploitant.
  • &var is bijvoorbeeld het adres van var.

Voorbeeld van scanf

Hieronder vindt u het C-programma om scanf te implementeren:

C




// C program to implement> // scanf> #include> // Driver code> int> main()> {> >int> a, b;> > >printf>(>'Enter first number: '>);> >scanf>(>'%d'>, &a);> > >printf>(>'Enter second number: '>);> >scanf>(>'%d'>, &b);> > >printf>(>'A : %d B : %d'> ,> >a , b);> > >return> 0;> }>

>

>

Uitvoer

Enter first number: 5 Enter second number: 6 A : 5 B : 6>

Gerelateerd artikel:

  • Scansets in C