Cryil 2023-05-13 01:03 采纳率: 50%
浏览 26

Xcode工具C语言关于自定义函数报错

使用mac的Xcode运行C语言代码遇到报错:Non-void function does not return a value in all control paths
代码想实现打印100到200之间的素数,并且统计数量,但是在自定义函数中遇到报错
代码如下

#include <stdio.h>
int is_prime(int n)
{
    int j = 0;
    for(j=2;j<n;j++)
    {
        if(n%j == 0)
            return 0;
    }
    if(j==n)
        return 1;
}
//在这个地方遇到报错信息
int main(void)
{
    int i = 0;
    int count = 0;
    for(i=100;i<=200;i++)
    {
        if(is_prime(i) == 1)
        {
            printf("%d\n",i);
            count++;
        }
    }
    printf("count = %d\n",count);
    return 0;
}

此时当我删掉函数中if(j==n)这个判断语句,因为感觉这个判断可有可无,就不会报错了,但结果打印了100到200的所有数字,并没有实现代码的要求。所以请求师兄们指导一下报错的原因和需要修改的地方,但我觉得代码没毛病呀。

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-05-13 06:26
    关注

    没有吧,打印的素数没有问题,你统计的count 有问题,count 应该放到素数判断里面

    if(is_prime(i) == 1)
    {
           printf("%d\n",i);
           count++;
    }
    
    评论

报告相同问题?

问题事件

  • 修改了问题 5月17日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑