У меня есть игра с угадыванием чисел, где Игрок 1 вводит число, а Игрок 2 должен угадать это число. Если число, которое вводит игрок 2, превышает 1000, «печатается это число вне диапазона».
int player2(int number)
{
int i, currentGuess;
printf("Player 2, you have 10 guesses remaining\n");
//For Player 2
for (i = 1; i <= MAX_GUESS; i++) {
int remaining = MAX_GUESS - i;
printf("Enter your guess:\n");
scanf_s("%i", ¤tGuess);
if (currentGuess > 1000) {
printf("That number is out of range.\n");
}
else if (currentGuess > number) {
printf("Too high.\n");
printf("Player 2, you have %i guesses remaining\n", remaining);
if (remaining == 0) {
printf("Player 1 wins\n");
}
}
else if (currentGuess < number) {
printf("Too low.\n");
printf("Player 2, you have %i guesses remaining\n", remaining);
if (remaining == 0) {
printf("Player 1 wins\n");
}
}
else if (currentGuess = number) {
printf("Player 2 wins\n");
return 0;
}
}
return i;
}
Если игрок 2 вводит 1001, правильное сообщение «Это число вне диапазона». будет дано. Проблема в том, что если игрок 2 вводит 11111111, выводится сообщение «Слишком низко». дается вместо «Это число вне диапазона». Почему это так?