- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:scanfに文字が入力されたときにエラー表示させる)
C言語でデータ型のサイズを表示するプログラム作成と文字入力時のエラー表示方法について
このQ&Aのポイント
- C言語でデータ型のサイズを表示するプログラムを作成しました。入力した数字に対応したデータ型のサイズが表示されます。
- ただし、文字を入力すると無限ループに陥ってしまいます。文字の入力に対するエラーを表示させる方法がわかりません。
- 質問者は、文字も含めて全ての入力に対して排除する方法を試しましたがうまくいきませんでした。一般的な文字入力時のエラー表示方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
http://ja.wikipedia.org/wiki/Scanf#.E7.95.B0.E5.B8.B8.E3.81.AA.E5.85.A5.E5.8A.9B.E3.81.8C.E8.A1.8C.E3.82.8F.E3.82.8C.E3.81.9F.E6.99.82.E3.81.AE.E5.87.A6.E7.90.86 とか。 まずは、scanfの戻り値を確認してください。 読み込みに失敗した場合はtyped変数は変化しないので、typed変数でエラーを判断することはできません 次に、変換に失敗したときは、そこで読み込みが止まります。クリアしない限り、同じscanfを使えば同じ失敗をします。 なので、空読みする等の対策が必要です。
お礼
scanfの戻り値について調べてみました.こんな使い方ができるんですね!参考になりました.ありがとうございます.