プロが教える店舗&オフィスのセキュリティ対策術

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に固定するかもしくは文字が入力された場合にはエラ-をはくプログラムにしたいのですが、そのような変更は可能でしょうか?

初歩的な質問で申訳ありませんが、ご教授よろしくお願いします。

A 回答 (1件)

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



参考URL:http://ja.wikipedia.org/wiki/Scanf
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/06 13:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!