>>515
今時カードとかテレタイプとかの話をしてもナンセンスでしょ
scanf()のインタラクティブな利用における典型的な問題を議論しても
これまたナンセンス。

(暗黙にインタラクティブな利用を前提とした)下らないエラー回復方法が
不要であれば、単に

while (scanf("%d", &n) == 1) {
  /* do something */
}
if (ferror(stdin)) {
  /* なんかエラーがあった */
}
のように書けばよいだけの話。