Ciao forum

Se uso la scanf in questo modo
codice:
stato=scanf("%d", &dato);
e inserisco come dato un numero con virgola (ad esempio 1,11) la scanf prende 1 come se fosse un dato corretto e non mi accorgo dell'errore...

Come posso risolvere?