gpt4 book ai didi

c - 如何计算素数

转载 作者:行者123 更新时间:2023-11-30 21:07:27 25 4
gpt4 key购买 nike

我想要所有 Primes 并且程序可以运行,但我收到警告:

警告:控制到达非 void 函数的末尾 [-Wreturn-type] }

我知道我需要 bool isprim 中的最后一个return,但我不明白。

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;
}

最佳答案

您不能有任何可能不返回 bool 值的分支,即使它们永远不会被执行:

// This will throw a warning.
bool func(){
if( true ){
return 0;
}
}

要么将最后一个 else if 更改为 else,要么在最后添加一个额外的 else(或仅返回)。

关于c - 如何计算素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com