内卷肥牛 2023-07-21 01:47 采纳率: 100%
浏览 27
已结题

求指导一下c语言函数问题

左边是题目,右边是我写的代码👇

img


这是我提交后显示的页面,搞不明白问题到底在哪里👇

img


谢谢你们的答疑解惑!😘

  • 写回答

4条回答 默认 最新

  • qzjhjxj 2023-07-21 09:16
    关注

    第一个警告,是裁判测试程序里缺少对scanf()函数返回值的处理,而裁判测试程序是不允许修改的。
    第二个警告,是int prime()函数缺了 return 语句漏洞。
    两个函数修改如下,供参考:

    int prime(int p)
    {
        int  i;
        if (p <= 1)       // 修改
            return 0;
        if (p < 4)        //  修改
            return p > 1; //  修改
        for (i = 2; i * i <= p; i++) // 修改
            if (p % i == 0)
                return 0;
        return 1;        // 修改   
    }
    int PrimeSum(int m, int n)
    {
        int p, sum;
        for (p = m, sum = 0; p <= n; p++)
            if (prime(p)) sum += p; // 修改
        return sum;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日
  • 创建了问题 7月21日