Originariamente inviato da Cesaropa12
Io pensavo si potesse leggere indifferentemente qualunque dato.
Non certo usando solamente %d. Tu alla scanf passi dei puntatori, in modo che la scanf possa scrivere sulle variabili. Come potrebbe sapere la scanf a cosa puntano quei puntatori, secondo te?? ..... Lo "scopre" dagli specificatori indicati nella stringa di formato!!!

Originariamente inviato da Cesaropa12
E per leggere tutti gli altri?
Unsigned int
Unsigned long
long,
long double
E leggere la documentazione della "famiglia" di funzioni scanf (perché c'è anche sscanf, fscanf, ecc...), su internet e/o sulla guida del tuo compilatore, no??

Unsigned int ---> %u
Unsigned long ---> %lu
long ---> %ld
long double ---> %Lf