質問: 0) { printf("全問不正解...次は頑張ろう!\n"); } else if (e <= 5) { printf("もっとできるよ!頑張ろう!\n"); } else if (e < 10) { printf("あと少しで全問正解!頑張ろう!\n"); } system("pause"); } ``` このような九九の計算のゲームをCで作成しているのですが、 整数以外の入力があったときに、エラーになってしまいます。 ”エラーです。”などと表示させて、 もう一度入力させるにはどうすればよいでしょうか。
回答: `scanf`の使用は避けた方が良いですね。`fgets`+`sscanf`を使う方が簡単です。 ``` int c; char line[100]; while(1){ fgets(line, sizeof line, stdin); if(sscanf(line,"%d",&c)==1){ break; } printf("数字を入力して下さい\n"); } ```