c语言查找整数问题,我找不出我写的代码问题在哪

一共有5个评测点,其中有两个评测失败,实际输出什么也没有,还有三个输出成功,实际输出和预期输出一样,实在找不出错误来,希望帮忙康一康。

img

img

img

img

img

img

img

数组a不对,n都没有初始化,是随机值,而且我记得数组长度必须是常量吧

可能是因为a数组的定义问题把,因为n在scanf获取输入之前n的值是随机的,所以导致后面结果出现异常。
把a[n]改为a1000再测试,所有例子都是正确结果。

#include <stdio.h>
int main(void){
    
    int n,a[1000],i,b;
    scanf("%d",&n);
    
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    
        
    scanf("%d",&b);
    
//    
//    for(i=0;i<n;i++){
//        printf("%d ",a[i]);
//    }
//    printf("\n");
    
    for(i=0;i<n;i++){
        if(b==a[i]){
            printf("%d",i+1);
            break;
        }else if(i+1==n){
            printf("-1");
        }else{
            continue;
        }
    }
    
    return 0;
}

用malloc申请内存空间

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632