我在哪里将if语句添加到我的程序中以查找某个数字

时间:2017-10-14 22:25:43

标签: c if-statement

我有一个程序,其中六个数字输入到一个数组然后向后输出它们如果找到数字26打印发现26.我的问题是我认为我的if语句在错误的位置,因为无论我输入什么进入阵列打印发现26.有人可以帮助我并告诉我我做错了什么吗?       #include

abcdefghijklmnopqrstuvwxyz

3 个答案:

答案 0 :(得分:2)

您应该使用:if (number == 26)而不是if(number = 26)

第一个是比较,而第二个是总是返回True的赋值。

此外,您在;

之后有if错误

答案 1 :(得分:1)

这些陈述

    if (number=26);
    {
      printf("FOUND 26!"); 
    }

可以等同地重写

    if (number=26) /* null statement */;

    // separate compound statement
    {
      printf("FOUND 26!"); 
    }

此外,在if语句的条件下,使用了赋值number=26而不是比较number == 26

此外,如果你要写比较并删除像这样的分号

    if (number == 26)
    {
      printf("FOUND 26!"); 
    }

该陈述没有意义,因为显然number等于26,因为它最初是以这种方式初始化的。

我认为在以相反的顺序输出数组时需要输出消息。代码看起来像

     const int N = 26;

     printf("Enter six numbers.\n\n");

     for(x = 0; x < 6; x++) {
     printf ("Enter a number : ", x+1);
     scanf ("%d",&array[x]);
    }

   printf("The numbers backwards are:");

   for(x = 6; x > 0; x--)
   { 
       printf("%d\n", array[x- 1]);
       if ( array[x-1] == N )
       {
          printf( "FOUND %d!\n", N ); 
       }
   }

答案 2 :(得分:1)

您使用过if (number=26);。你应该使用的是if(number == 26)

=是赋值运算符,而==是比较运算符。

在if语句之后使用;是错误的,因为编译器将其视为空语句。