scanf è una funzione che viene implementata in diversi linguaggi di programmazione.
Ha origine dal linguaggio C dove è inclusa nella libreria stdio.h
ed ha il seguente prototipo:
int scanf(const char *format, ...)
La funzione legge dei caratteri dal canale standard di input (stdin), li converte secondo le specifiche di formattazione fornite dall'argomento format
e memorizza i valori ottenuti negli argomenti seguenti.
Qui di seguito è riportato un esempio in C
#include <stdio.h>
/* Libreria standard per l'I/O */
int main() {
int n;
printf("Inserisci il valore di N: ");
scanf("%d", &n);
printf("N al quadrato è uguale a %d\n", n*n);
return 0;
}
Nell'esempio proposto viene richiesto all'utente un numero intero e viene calcolato il quadrato di tale numero.
La funzione scanf
ha lo scopo di rilevare quanto immesso dall'utente tramite la tastiera, convertirlo in un numero intero e memorizzarne il risultato nella variabile n
.
La stringa di formattazione deve essere costituita da un carattere '%' seguito da uno degli specificatori elencati:
c Carattere
d Numero intero
f Numero reale a singola precisione (float)
lf Numero reale a doppia precisione (double)
s Stringa (array di caratteri e, pertanto, un puntatore che nella scanf non ha bisogno di '&')
p Indirizzo di memoria