c++素数问题无法运行

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

有报错吗,我这里可以运行
输入1、2

img


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

你的代码是对的,输出的是m和n之间的素数的个数和素数之和。