• 締切済み

scanfの入力形式確認について

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に固定するかもしくは文字が入力された場合にはエラ-をはくプログラムにしたいのですが、そのような変更は可能でしょうか? 初歩的な質問で申訳ありませんが、ご教授よろしくお願いします。

みんなの回答

回答No.1

Wikipediaに仔細に解説があるので、参考の程を。

参考URL:
http://ja.wikipedia.org/wiki/Scanf
runjump
質問者

お礼

大変助かりました。 ありがとうございます。 基本関数に関してもまだまだ理解ができていない自分の不勉強さがわかりました。ありがとうございました。

すると、全ての回答が全文表示されます。

専門家に質問してみよう