int c;
scanf("%d",&c);
これで間違って文字を入力された場合の対処法はどうすればよいのでしょうか?

自分でも考えたんですが
chara a;
int c;
scanf("c",&a);
c = atoi(a);
という方法もやってみたんですが
数字と文字を入力された場合(12yとか)は、駄目なんですよね。