%d si usa per leggere variabili di tipo int, per i float si usa %f. Se abiliti i warning del tuo compilatore (-Wall -Wextra su gcc e clang, /W4 su VC++) questo tipo di errore ti viene segnalato.