0
を必要とintに変換し、一つだけの文字、私は私が唯一の最初の数字を取りたい問題C.にユーザー入力を取っています。 I文字からのユーザ入力をフィルタリングするが、私は2桁(間違ったユーザー入力)を入力すると、プログラムは奇妙なCユーザー入力の検証 -
を動作するように起動することが表示されます。
Turn 2 : What number? 21
Turn 2 : What number? 1 6 2 4 2
//User input validation
int GetColorGuess(int counter)
{
int color=1;
int inputChar=' ';
do{
printf("Turn %d : What number? ",counter);
inputChar=getchar();
getchar();
}
while(inputChar<((int)'1') || inputChar>selectedColorSize+'0');
color = digit_to_int(inputChar);
return color;
}
//convert char which represents digit to int
int digit_to_int(char d)
{
char str[2];
str[0] = d;
str[1] = '\0';
return (int) strtol(str, NULL, 10);
}
誰も私を助けることができる何ですか問題?