首页 > 解决方案 > 无法验证 C 编程中的输入

问题描述

我刚开始学习C,我正在尝试创建一个简单的“猜数字”游戏。

目前,我的程序不验证玩家 2 的猜测是否在范围内(1 到 1000)。相反,即使玩家 2 的猜测是 2000 超出范围(1 到 1000),它也只会显示“太高”

这是我的代码:

#include <stdio.h>

int main()
{
    int number, guess, count = 10;

    printf("Enter a number between 1 and 1000:\n");

    scanf("%d",&number);

    while(number < 1 || number > 1000)
    {
        printf("Number is out of range.\n");
        printf("Enter a number between 1 and 1000:\n");
        scanf("%d",&number);
    }

    while(count >= 1 && count <= 10)
    {
        printf("Player 2, you have %d guesses remaining.\n", count);
        printf("Enter your guess:\n");
        scanf("%d", &guess);
        count = count - 1;

        if (guess >= 1 || guess <= 1000)
        {
            if (guess > number)
            {
                printf("Too high.\n");
            }
            else if (guess < number)
            {
                printf("Too low.\n");
            }
            else if (guess == number)
            {
                printf("Player 2 wins.\n");
            }
        }
        else
        {
            printf("Invalid. Out of range.");
        }
    }

    if (count == 0)
    {
        printf("Player 1 wins.");
    }

    return 0;
}

标签: c

解决方案


guess >= 1 || guess <= 1000应该guess >= 1 && guess <= 1000


推荐阅读