【问题标题】:C Program Problems with Loops [closed]循环的C程序问题[关闭]
【发布时间】:2014-09-20 05:03:35
【问题描述】:

我对编程非常陌生,目前正在开发一个程序(还远未完成),但我无法弄清楚这不起作用以及为什么不起作用。我一定错过了“if”和“else”的一些东西

#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");

}

【问题讨论】:

  • 请阅读基本的 C 教程。
  • C Program Problems with Loops 循环在哪里? Need to learn basic about C
  • if(&lt;=2=3)之后删除;
  • 如果您要将代码发布到无法编译的 SO,您至少必须包含您收到的错误消息。 “行不通”是不够的。

标签: c


【解决方案1】:

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

int a, b;

不为它们分配任何值,您无法确定它们将包含什么。会更好

int a = 1;
int b = 1;

【讨论】:

    【解决方案2】:

    第一个错误

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

    即使没有初始化,你如何在if 条件下检查a?首先通过将值初始化为ab 来修复它(使用1)然后去修复第二个错误

    第二个错误

    if(1<=a<=3);
    

    if 条件之后删除; 然后去修复第三个错误

    第三个错误

    if(1<=a<=3);
    

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

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

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

    第四个错误

    你有int main(void)。所以需要在main结尾处return 0

    【讨论】:

      【解决方案3】:

      这里有很多的问题。首先,这并不意味着你认为它意味着什么:

      1<=a<=3
      

      相反,你需要

      1 <=a && a <= 3
      

      另外,不要在if 语句后面加上分号:

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

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

      【讨论】:

        【解决方案4】:

        而不是if(1&lt;=a&lt;=3);if(a&gt;= 1 &amp;&amp; a &lt;= 3) if(1&gt;=b&lt;=3); 相同,写 if(b&gt;=1 &amp;&amp; b&lt;=3)

        并且没有分号。只需检查该编程语言中的 if else 语法。这是非常基本的知识。

        【讨论】:

          【解决方案5】:

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

          您必须使用AND 运算符。

          喜欢

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

          但这在这里行不通。 ab 没有分配。您必须为 a 和 b 分配一些值。首先阅读一些基本教程 ifloop 如何在 C 中工作。然后就很容易了。 :)

          【讨论】:

            猜你喜欢
            • 2020-01-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多