は真とp%のD == 0である偽、 は、変数dがインクリメントされているか、スキップされインクリメントされ?デバッガの下で、それを通じてforループで次の制御式がインクリメントされていますか? < Pはdは、最も内側のループ内の次のコードでは、
// Program to generate a table of prime numbers
#include <stdio.h>
int main (void)
{
int p, d;
_Bool isPrime;
for (p = 2; p <= 50; ++p) {
isPrime = 1;
for (d = 2; d < p; ++d)
if (p % d == 0)
isPrime = 0;
if (isPrime != 0)
printf ("%i ", p);
}
printf ("\n");
return 0;
}
デバッガでこれを実行しようとしましたか? –
'if(isPrime!= 0)'を内側または外側の 'for'ループに含めるべきですか?インデントの外観では内側ループの一部でなければならないが、中括弧がないということはそうでないことを意味する。あなたの質問に対する答えには影響しませんが、指摘する価値はあると思いました。 – AusCBloke
'p%d == 0'なら、内側のループから抜け出すべきです。もしそうでなければ、無意味にサイクルを焼いているだけです。 (d = 2; d