为什么用scanf控制给数值的赋值个数会造成 存访问错误造成Segmentation fault (SIGSEGV)???

//这是一个判断一组数是否为偶数并加和的程序

#include<stdio.h>
int ju(int);
int main()
{
    int i,n,num[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",num[i]);//瓶颈就在这里
    }
    for(i=0;i<n;i++)
    if(ju(num[i]))
    printf("%d ",num[i]);
}
int ju(int n)
{
    if(n%2==0)
    return 1;
    else
    return 0;
}
————————————————
版权声明:本文为CSDN博主「章泽琨」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45754212/article/details/103112908
没看到你程序有加和
int main()
{
    int i,n,num[1000],sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&num[i]);
    }
    for(i=0;i<n;i++)
    if(ju(num[i])) sum+= num[i];
    printf("%d ",sum);
}

第9行 scanf() 函数里掉了 & 符号