不知道是哪里出了问题,看了超级久也找不出来,运行不到预期结果,麻烦看看哪里出了问题啦
把数组b的长度定为n,然后数组的下标从0开始,判断数组b中是否存在a可以加个标志来判断。
修改如下:
#include <stdio.h>
int main(void){
int n,c;
scanf("%d",&n);
int i;
int b[n]; // 数组b的长度为n
// 同上,数组下标从0开始
for(i=0;i<n;i++){
scanf("%d",&b[i]);
}
int a;
scanf("%d",&a);
int find=0; // 寻找标志,默认0为数组b中没有a
// 同上,数组下标从0开始
for(i=0;i<n;i++){
if(b[i]==a){ // 如果数组中找到和a相同的值
find=1; // 寻找标志置1,表示在数组b中找到a
printf("%d",i);
break;
}
}
// find=0,表示遍历完整个数组b都没找到和a的值相同的元素,则打印-1
if(find==0){
printf("-1");
}
return 0;
}
int b[i]这个错了
应该是
int b[n]
然后你的代码缩进调整一下,看着太别扭了。
把代码缩进弄弄,自己看的不难受嘛?
你这里数组定义有问题,改了自己再试试