logo

scanf i C

I programmeringssproget C er scanf en funktion, der står for Scan Formatted String. Det bruges til at læse data fra stdin (standard input-stream, dvs. normalt tastatur) og skriver derefter resultatet ind i de givne argumenter.

alfabet i tal
  • Den accepterer tegn, streng og numeriske data fra brugeren ved hjælp af standardinput.
  • scanf bruger også formatspecifikationer som printf.

scanf syntaks

Syntaksen for scanf() i C svarer til syntaksen for printf().



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

Her,

    int er returtypen. format er en streng, der indeholder formatspecifikationerne. … angiver, at funktionen accepterer et variabelt antal argumenter.

Eksempel på formatspecifikationer genkendt af scanf:

%d at acceptere input af heltal.



%ld at acceptere input af lange heltal

%lld at acceptere input af lange lange heltal

%f at acceptere input af reelt tal.



%c for at acceptere input af tegntyper.

%s for at acceptere input af en streng.

For at vide mere om formatspecifikationer, se denne artikel – Formatspecifikationer i C

karakter.sammenlign java

Eksempel:

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

Scanf'en vil skrive værdien, som brugeren har indtastet, i heltalsvariablen var.

Returværdi af scanf

Scanf i C returnerer tre typer værdier:

ubuntu build væsentlige
    >0: Antallet af værdier, der er konverteret og tildelt. 0: Ingen værdi blev tildelt. <0: Der er opstået læsefejl eller end-of-file (EOF) nået, før nogen tildeling blev foretaget.

Hvorfor &?

Mens der scannes input, skal scanf gemme inputdata et eller andet sted. For at gemme disse inputdata skal scanf kende hukommelsesplaceringen af ​​en variabel. Og her kommer et-tegnet for at redde.

  • & kaldes også som adresse på operatøren.
  • For eksempel er &var adressen på var.

Eksempel på scanf

Nedenfor er C-programmet til at implementere 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;> }>

>

>

Produktion

c++ int til streng
Enter first number: 5 Enter second number: 6 A : 5 B : 6>

Relateret artikel:

  • Scansets i C