c语言用函数实现判断素数

可以帮我看看哪里有问题吗?需要用函数实现判断素数,我这里可以输入但是没办法输出,是主函数里的范围错了吗?

img

修改过后:

#include<stdio.h>
// 定义一个函数,判断一个数是否为素数
int prime(int m){
    int i;
    // 如果m小于等于1,返回0,表示不是素数
    if(m<=1){
        return 0;
    }
    // 如果m等于2,返回1,表示是素数
    else if(m==2){
        return 1;
    }
    // 否则,从2开始遍历到m-1,如果有一个数能整除m,返回0,表示不是素数
    else{
        for(i=2;i<m;i++){
            if(m%i==0){
                return 0;
            }
        }
        // 如果遍历完都没有找到能整除m的数,返回1,表示是素数
        return 1;
    }
}

int main(){
    int m,n;
    // 输入一个正整数n
    printf("请输入n:");
    scanf("%d",&n);
    // 从2开始遍历到n,对每个数调用prime函数判断是否为素数,并输出结果
    for(m=2;m<=n;m++){
        if(prime(m)==1){
            printf("%d是素数\n",m);
        }
        else{
            printf("%d不是素数\n",m);
        }
    }
    return 0;
}