C语言的一道题目关于数组的

请问程序问题在哪呢?执行后总是无法判断 在和不在都输出了
2025-03-04 23:19:18
推荐回答(1个)
回答1:

把if中的=改成==,另外你的第二个if后面多个分号

if(i == a[j])

if(j == 10)

=是赋值,之后用变量本身的值参与条件的运算,也就是只要不是0条件都会成立,两个当然都会输出了

另外你的程序逻辑貌似有点点问题,等我写一份给你看看

#include 

void main()
{
int a[]={12,34,56,78,90,11,22,33,44,55};
int i;
int j = 0;
scanf("%d", &i);
while(i != a[j] && j < 10)
{j++;}
if(i == a[j])
{printf("在数组中");}
else if(j == 10)
{printf("不在数组中");}
}