星海风驰 发表于 2020-4-10 19:08:19

【求助求助】这个第18行的警告是怎么回事呀?




#include <stdio.h>
#include <math.h>


int main()
{
    int n;
    int sum = 0;
    scanf("%d",&n);

    if(n <= 1 )
      printf("ERROR");
    else

    {
      for(int s=2;s<=n;s++)
            {
                if (sushu(s) != 0)
                sum = sum + s;
            }
      printf("素数和=%d",sum);


    }

}
int sushu (int s)

    {

   for(int i=2;i<s;i++)
      {
      if(s%i==0)
            break ;
      }
    }



BngThea 发表于 2020-4-10 19:09:14

sushu函数没有写return

Hello. 发表于 2020-4-10 19:12:40

没有return。。

乘号 发表于 2020-4-10 19:23:54

要加入return

乘号 发表于 2020-4-10 19:25:49

我真是中奖绝缘体啊{:10_266:}

编程鱼C 发表于 2020-4-10 19:31:03

return

星海风驰 发表于 2020-4-10 19:33:27

BngThea 发表于 2020-4-10 19:09
sushu函数没有写return

那该如何修改呢 ,我刚才尝试了一下 ,修改以后结果就不对,现在输出的结果是对的,不明白为什么....
这个下面是判断是否是素数的一个函数,我想让这个数是素数函数返回这个数的值,要是不是素数就返回0

liuzhengyuan 发表于 2020-4-10 19:40:37

本帖最后由 liuzhengyuan 于 2020-4-10 19:44 编辑

星海风驰 发表于 2020-4-10 19:33
那该如何修改呢 ,我刚才尝试了一下 ,修改以后结果就不对,现在输出的结果是对的,不明白为什么....
这 ...

首先要知道你的 sushu 是干什么的
然后再返回你需要的值

我看这里好像 是返回 0或1

那么就 (只要 return 了这个函数就结束啦)
int sushu (int s)
{
    for(int i=2;i<s;i++)
    {
      if(s%i==0)
            return 1;
    }
    return 0;
}

4goodworld 发表于 2020-4-10 19:42:20


#include <stdio.h>
#include <math.h>

int sushu(int s);

int main()
{
        int n;
        int sum = 0;
        scanf("%d", &n);

        if (n <= 1)
                printf("ERROR");
        else

        {
                for (int s = 2; s <= n; s++)
                {
                        if (sushu(s) != 0)
                                sum = sum + s;
                }
                printf("素数和=%d", sum);


        }

}
int sushu(int s)

{

        for (int i = 2; i < s; i++)
        {
                if (s%i == 0)
                        return 0;;
        }
        return 1;//你想怎么返回?
}

liuzhengyuan 发表于 2020-4-10 19:45:54

还有,这个函数定义不是要放在 main (主程序)的前面吗~

BngThea 发表于 2020-4-10 20:02:20

星海风驰 发表于 2020-4-10 19:33
那该如何修改呢 ,我刚才尝试了一下 ,修改以后结果就不对,现在输出的结果是对的,不明白为什么....
这 ...

返回改为bool类型,循环中if条件成立返回false,否则返回true
页: [1]
查看完整版本: 【求助求助】这个第18行的警告是怎么回事呀?