巴伐利亚公爵
2019-11-17 20:45
采纳率: 50%
浏览 320

为什么用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
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2019-11-17 21:46
    已采纳
    没看到你程序有加和
    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);
    }
    
    点赞 打赏 评论
  • little_fat_sheep 2019-11-17 21:30

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

    点赞 打赏 评论

相关推荐 更多相似问题