0
C에서 사용자 입력을하는 데 문제가 있습니다. 첫 번째 숫자 만 사용하려고합니다. 나는 문자에서 사용자의 입력을 필터링하지만 2 자리 (잘못된 사용자 입력)를 입력하면 프로그램은C 사용자 입력 유효성 검사 - 단 하나의 문자 만 int로 변환됩니다.
가 표시 이상한 행동을 시작합니다
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);
}
사람이 무엇인지 좀 도와 줄래 문제?