scanf

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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

Voci correlate[modifica | modifica wikitesto]