0

我正在编写一个程序来提示用户输入一个介于 1 和 5 之间的数字。如果该值大于 5 或​​小于 1,我希望程序等到给出适当的答案。这是我想出的,但它不起作用。我已经尝试了一些不同的网络提示,但仍然无法正常工作。任何提示都会很棒,谢谢。

#include <stdio.h>

int main()
{
    int p1_move;

    do{                         
        printf("1  \n 2 \n 3 \n 4 \n 5\n");
        printf("Player 1, enter the number:\n");
        scanf("%d", &p1_move);
    }while(p1_move >=6 || <=0);         
}
4

2 回答 2

3

每个测试都需要一个变量:

while(p1_move >=6 || p1_move <=0);

您在这里也有潜在的未定义行为:

scanf("%d", &p1_move);

您不测试输入是否成功。如果输入第一次失败(例如EOF 或非整数输入),p1_move将保持未初始化状态。

于 2013-10-08T01:49:15.037 回答
1

你的代码不应该编译。

改变

while(p1_move >=6 || <=0);  

while(p1_move >=6 || p1_move <=0);  
于 2013-10-08T01:49:13.580 回答