入力が正しくない場合に、続けるを選んだ後に、再度入力をうながしているのですが、なぜか入力の処理をさせてもらえずに、”入力値が正しくありません”と表示されてしまい、入力ができなくなってしまいました。
結構な時間悩んでもわからなかったので質問させていただいています。
分かる方助けてください。
C
1#include <stdio.h> 2#include <stdlib.h> 3#include <string.h> 4#include <ctype.h> 5 6int inputCheck(char myHand); 7int main() 8{ 9 int flg = 0, keep; 10 char myHand, youHand; 11 puts("じゃんけんゲーム!"); 12 13 while(flg == 0) 14 { 15 printf("手を入力してください【グー:1 チョキ:2 パー:3】:"); 16 scanf("%c", &myHand); 17 if(inputCheck(myHand) == 1) flg = 1; 18 else 19 { 20 flg = 0; 21 puts("入力値が正しくありません。\n"); 22 printf("終了しますか?【終了:0 続ける:1】:"); 23 scanf("%d", &keep); 24 if(keep == 0) exit(0); 25 } 26 } 27 28 return 0; 29} 30 31// 入力をチェックする関数 引数:入力値 戻り値:数値1 数値ではない0 32int inputCheck(char myHand) 33{ 34 if(myHand <= '3' && myHand >= '1') 35 { 36 return 1; 37 } 38 39 return 0; 40}