请大家帮我分析分析哪有问题,在主函数中输入正整数m和n,在自定义函数中,求出m和n之间的素数,并输出。

img

m和n的值已经在main函数中读取了,在Prime函数中就不需要再读取了,scanf_s函数删掉就可以了。
你的Prime函数判断素数的方法不对。代码修改如下:

#include <stdio.h>
void Prime(int m,int n)
{
    int i,j;
    //如果m>n,就交换m和n
    if(m>n)
    {
        i = m;
        m = n;
        n = i;
    }
    for (i=m;i<=n;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j == 0)
                break;
        }
        if(j==i)
            printf("%d ",i);
    }
}
int main()
{
    int m,n;
    scanf_s("%d %d",&m,&n);
    Prime(m,n);
    return 0;
}

子函数里scanf_s("%d%d",&m,&n)删掉
子函数求素数写的不对啊