ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4000759 scanfの入力形式確認について
質問者:runjump scanfで入力形式を%dに指定した場合、文字をタ-ミナル上で入力しても読みとばされるようで、結果

printf("please input 0 or 1.\n")

while(1){
scanf("%d",&a);
if(a==0 || a==1)break;
printf("please input 0 or 1!\n")
}

といったプログラムをかいた場合、while内を永遠さまようプログラムになってしまいました。

入力を%cにしてatoiを使う以外の手法で、入力を%dに固定するかもしくは文字が入力された場合にはエラ-をはくプログラムにしたいのですが、そのような変更は可能でしょうか?

初歩的な質問で申訳ありませんが、ご教授よろしくお願いします。
困り度:
  • 困っています
質問投稿日時:
08/05/06 05:52
この質問に対する回答は締め切られました。

回答

ANo.1 Wikipediaに仔細に解説があるので、参考の程を。
回答者:t_shadowback
種類:アドバイス
どんな人:専門家
自信:自信あり
回答日時:
08/05/06 07:36
参考URL: http://ja.wikipedia.org/wiki/Scanf
この回答へのお礼大変助かりました。
ありがとうございます。
基本関数に関してもまだまだ理解ができていない自分の不勉強さがわかりました。ありがとうございました。