#include<stdio.h>
#include<math.h>
int prime(int m);
int main(void)
{
int M;
while(scanf("%d",&M)!=EOF)
{
prime(M);
printf("\n") ;
}
return 0;
}
int prime(int m)
{
int i;
double limit;
if(m==1)
{
printf("No");
}
else
{
limit=sqrt(m)+1;
for(i=2;i<=limit;i++)
{
if(m%i==0)
{
printf("No");
}
}
printf("Yes");
return result;
}
}
你的prime函数里面的result没有定义,不需要返回值
#include<stdio.h>
#include<math.h>
void prime(int m) {
int i;
double limit;
if(m == 1) {
printf("No");
} else {
limit = sqrt(m) + 1;
for(i = 2; i <= limit; i++) {
if(m % i == 0) {
printf("No");
}
}
printf("Yes");
}
}
int main(void) {
int M;
while(scanf("%d", &M) != EOF) {
prime(M);
printf("\n") ;
}
return 0;
}