上课按着老师的代码拔的,但是编译老师提示错误,自己怎么也找不出来,求C语言大神帮忙看看,万分感谢!!!代码和图片都给大家。#include <stdio.h>int isPrime(int x, int KnownPrimes[], int numberOfKnownPrimes );int main(void){ const int number=10; int prime [number]={2,}; int count = 1; int i = 3; while ( count< number) { if(isPrime(i,prime,count)) { prime[count++] = 1; } i++; } for(i=0; i<number; i++){ printf("%d",prime[i]); if((i+1)%5)printf("\t"); else printf("\n"); } return 0;}int isPrime(int x,int KnownPrimes[],int numberOfKnownPrimes){ int ret = 1; int i; for(i=0;i<numberOfKnownPrimes;i++){ if(x%KnownPrimes[i] ==0){ ret=0; break; } } return ret;}
已经修改完成,运行通过:
#include <stdio.h>
int isPrime(int x, int KnownPrimes[], int numberOfKnownPrimes );
int main(void)
{ const int number=10;
int prime [number]= {2}; //有修改
int count = 1;
int i = 3;
while ( count< number)
{ if(isPrime(i,prime,count))
{ prime[count++] = i; //有修改
}
i++;
}
for(i=0; i<number; i++)
{ printf("%d",prime[i]);
if((i+1)%5)printf("\t");
else printf("\n");
}
return 0;
}
int isPrime(int x,int KnownPrimes[],int numberOfKnownPrimes)
{ int ret = 1;
int i;
for(i=0; i<numberOfKnownPrimes; i++)
{ if(x%KnownPrimes[i] ==0)
{ ret=0;
break;
}
}
return ret;
}
可变长数组,要求编译器支持C99标准
开启编译器的C99支持选项,具体方法自行搜索对应编译器关键字