logo

scanf i C

I programmeringsspråket C är scanf en funktion som står för Scan Formatted String. Den används för att läsa data från stdin (standardinmatningsström, dvs vanligtvis tangentbord) och skriver sedan in resultatet i de givna argumenten.

  • Den accepterar tecken, sträng och numerisk data från användaren med standardinmatning.
  • scanf använder också formatspecifikationer som printf.

scanf Syntax

Syntaxen för scanf() i C liknar syntaxen för printf().



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

Här,

    int är returtypen. format är en sträng som innehåller formatspecifikationerna. … indikerar att funktionen accepterar ett variabelt antal argument.

Exempel på formatspecifikationer som känns igen av scanf:

%d att acceptera inmatning av heltal.



%ld att acceptera inmatning av långa heltal

%lld att acceptera inmatning av långa långa heltal

%f för att acceptera inmatning av reellt tal.



%c för att acceptera inmatning av teckentyper.

%s för att acceptera inmatning av en sträng.

För att veta mer om formatspecifikationer, se den här artikeln – Formatspecifikationer i C

Exempel:

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

Scanf kommer att skriva in värdet som användaren matat in i heltalsvariabeln var.

Returvärde för scanf

Scanf i C returnerar tre typer av värden:

    >0: Antalet värden som konverterats och tilldelats framgångsrikt. 0: Inget värde har tilldelats. <0: Läsfel påträffades eller slutet av filen (EOF) nåddes innan någon tilldelning gjordes.

Varför &?

När du skannar indata måste scanf lagra indata någonstans. För att lagra dessa indata måste scanf känna till minnesplatsen för en variabel. Och här kommer et-tecken för att rädda.

  • & kallas även som adress till operatören.
  • Till exempel är &var adressen till var.

Exempel på scanf

Nedan är C-programmet för att implementera scanf:

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;> }>

>

>

java fall uttalande

Produktion

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

Relaterad artikel:

  • Scansets i C