我想要所有Primes和程序工作,但我收到警告:
警告:控制到达非空函数的末尾[-Wreturn-type]
}
我现在需要bool isprim的最后一次回复,但我不明白
bool isPrim(int prim,int tester){
if(prim <=1){
return 0;
}else if(tester==1){
return 1;
}else if (tester>=1&&(prim % tester)!=0){
isPrim(prim,tester-1);
}else if ((prim % tester)==0){
return 0;
}
}
int main(){
int eingabe;
int zaehler=1;
printf("Bitte Zahl zum testen eingeben\n");
scanf("%i",&eingabe);
if (isPrim(eingabe,eingabe-1)){
printf("Ihre Zahl ist eine Primzahl\n");
}else{
printf("Ihre Zahl ist keine Primzahl\n");
}
//show me all Primes <1000
printf("Nun werden alle Primzahlen bis 10000 ausgegeben\n\n");
while(zaehler<=10000){
if(isPrim(zaehler,zaehler-1)){
printf("%i\t",zaehler);
}
zaehler++;
}
return 0;
}
答案 0 :(得分:0)
你必须没有任何可能不会返回布尔值的分支,即使它们永远不会被执行:
// This will throw a warning.
bool func(){
if( true ){
return 0;
}
}
将最后else if
更改为else
,或者在最后添加额外的else
(或只是返回)。