循环的C程序问题

时间:2014-09-20 05:03:35

标签: c

我对编程非常陌生并且目前正在开发一个程序(它已经没有接近完成)但是我无法弄清楚它是如何以及为什么不会起作用。我必须错过“如果'和'其他'

#include <stdio.h>

int main(void)
{
    printf("Welcome to the ROBOT GAME!\n"
           "Please enter the column of your starting point. Keep numbers in the range of one to three.\n");

    int a, b;
    if(1<=a<=3);
    {
        scanf("%i", &a);
    }
    else 
       {
        printf("Sorry try again.");
       }

    printf("Please enter the row of your starting point.  Keep numbers in the range of one to three.\n");
    if(1>=b<=3);
        scanf("%i", &b);
    printf("What is your next move? Pick\n"
           "1.Right\n"
           "2.Left\n"
           "3.Up\n"
           "4.Down\n");

}

5 个答案:

答案 0 :(得分:1)

第一个错误

int a, b;
if(1<=a<=3);

即使未初始化,如何在a条件下检查if?首先通过将值初始化为ab(使用1)修复此问题然后继续修复第二个错误

第二个错误

if(1<=a<=3);

;条件后移除if,然后转到修复第三个错误

第三个错误

if(1<=a<=3);

不是想做你想做的事。它应该

if(a>= 1 && a <= 3)

if(1>=b<=3);现在也是如此。请按照上述每个步骤来解决此问题。

第四个错误

你有int main(void)。因此,需要在return 0

结束时main

答案 1 :(得分:1)

同样定义变量但不声明它们是一个坏习惯。

int a, b;

不会为其分配任何值,也无法确定它们将包含哪些内容。更好的是

int a = 1;
int b = 1;

答案 2 :(得分:0)

这里有很多的问题。首先,这并不代表您认为的含义:

1<=a<=3

相反,你需要

1 <=a && a <= 3

另外,请勿使用分号跟if语句:

if(1<=a<=3);
           ^

最重要的是,您需要在之前执行scanf() ,检查该值是否有效。

答案 3 :(得分:0)

而不是if(1<=a<=3);if(a>= 1 && a <= 3) 同等if(1>=b<=3);if(b>=1 && b<=3)

并且没有分号。只需检查该编程语言中的else语法。知道它是非常基础的。

答案 4 :(得分:0)

这不是编程中的测量范围。如果你想测量

您必须使用AND运算符。

喜欢

if(a>=1 && a<=3) {

}

但这不适用于此。 ab没有作业。您必须为a和b分配一些值。首先阅读一些基本教程,ifloop如何在C中工作。然后这将很容易。 :)