2017-01-10 11 views
0

C++のDo-Whileループを使用して素数のリストを作成しようとしましたが、問題があり、コード内に問題が見つかりませんでした。誰にでも私を助けられますか?私がこれまで試してみましたC++でDo-Whileループを使用する問題?

#include <iostream> 
using namespace std; 
int main() 
{ 
int num2check = 3, innerCheck; 
bool isPrime; 
do 
{ 
    isPrime = true; 
    innerCheck = 2; 

    while ((innerCheck < num2check) && (isPrime == true)); 
    { 

    if (num2check % innerCheck == 0) 
    { 
    isPrime = false; 
    break; 
    } 
     else 
     { 
     innerCheck++; 
     } 
    } 
    if (isPrime == true) 
    { 
    cout << num2check << " is prime."; 
    num2check++; 
    } 
    else 
    { 
    num2check++; 
    } 
}while(num2check < 50); 
return 0; 
} 
+5

removeセミコロンはここで 'while((innerCheck Tejendra

+2

コードを1行ずつ進めるためにデバッガを使います。 –

+1

新しいバージョンの 'gcc'(6以降のバージョン)では' -Wall'でコンパイルすると警告が表示されます。 – Chris

答えて

4

あなたはこのラインでプログラミング標準で

while ((innerCheck < num2check) && (isPrime == true)); 

をセミコロンを削除する必要がある、;は、文の終わりを意味し、あるいは、この場合、それはヌルステートメントなので、ここではwhileループは何も実行せず、条件が常に成り立つので無限ループで動作し続けます