为什么进不去函数 123456789

img

你prime函数中问题比较多,内外循环用的都 i变量,代码逻辑也不对。
给你写了个例子,参考下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
int prime(int a, int b);
int main()
{
    int m, n;
    scanf("%d%d",&m,&n);
    prime(m,n);
    return 0;
}
int prime(int a, int b)
{
    int i,j,flag=1;
    for(i=a; i<=b; i++) {
        flag=1;
        if(i<=1)
            flag=0;
        else {
            for(j=2; j<i; j++)
                if(i%j==0) {
                    flag=0;
                    break;
                }
        }
        if (flag==1)
            printf("%d ", i);
   }
}

img

prime函数中,内外循环用到同一个变量去控制循环,逻辑不对。你写的内循环终止条件也不可能成立的。

你应该是死循环了
你两次for循环使用的都是i变量,里层的循环会导致外层的i不断重置,应该是这部分形成了死循环
有帮助望采纳~

外层循环从i=a开始,可内存循环的条件又是i<a,矛盾啊。所以内层循环根本不执行,所以啥输出也没有。把i<a去掉