我有一个程序,其中六个数字输入到一个数组然后向后输出它们如果找到数字26打印发现26.我的问题是我认为我的if语句在错误的位置,因为无论我输入什么进入阵列打印发现26.有人可以帮助我并告诉我我做错了什么吗? #include
abcdefghijklmnopqrstuvwxyz
答案 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语句之后使用;
是错误的,因为编译器将其视为空语句。