En el llenguatge de programació C, scanf és una funció que significa Scan Formatted String. S'utilitza per llegir dades de stdin (flux d'entrada estàndard, és a dir, normalment el teclat) i després escriu el resultat als arguments donats.
- Accepta caràcters, cadenes i dades numèriques de l'usuari mitjançant l'entrada estàndard.
- scanf també utilitza especificadors de format com printf.
Sintaxi scanf
La sintaxi de scanf() en C és similar a la sintaxi de printf().
int scanf( const char * format , ... );>
Aquí,
- int és el tipus de retorn. format és una cadena que conté els especificadors de format. ... indica que la funció accepta un nombre variable d'arguments.
Exemple d'especificadors de format reconeguts per scanf:
%d per acceptar l'entrada de nombres enters.
%ld per acceptar l'entrada de nombres enters llargs
%lld per acceptar l'entrada de nombres enters llargs i llargs
%f per acceptar l'entrada del nombre real.
%c per acceptar l'entrada de tipus de caràcters.
s en python%s per acceptar l'entrada d'una cadena.
Per obtenir més informació sobre els especificadors de format, consulteu aquest article: Especificadors de format en C
Exemple:
int on;
scanf(%d, &var);El scanf escriurà el valor introduït per l'usuari a la variable entera era.
Valor de retorn de scanf
El scanf en C retorna tres tipus de valors:
- >0: el nombre de valors convertits i assignats correctament. 0: no s'ha assignat cap valor. <0: S'ha trobat un error de lectura o s'ha arribat al final del fitxer (EOF) abans de fer qualsevol assignació.
Per què &?
Mentre escaneja l'entrada, scanf necessita emmagatzemar aquestes dades d'entrada en algun lloc. Per emmagatzemar aquestes dades d'entrada, scanf necessita conèixer la ubicació de memòria d'una variable. I aquí ve el signe ampersand per rescatar.
- & també s'anomena com a adreça de l'operador.
- Per exemple, &var és l'adreça de var.
Exemple de scanf
A continuació es mostra el programa C per implementar 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;> }> |
>
>
Sortida
l'actor ranbir kapoor edat
Enter first number: 5 Enter second number: 6 A : 5 B : 6>
Article relacionat:
- Scansets en C