2

戻り値の型のない関数を呼び出そうとしていますが、呼び出されていないようです。

コードは次のようになります (要約):

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int ItemsInQuestion[4];

void GetQuestions(int NumQuests);


int main()
{
    int NumberOfQuestions = 0;
    srand((unsigned)time(NULL));
    cout << "How many questions would you like?" << endl;
    cin >> NumberOfQuestions;
    cout << NumberOfQuestions << " questions will be asked.";
    GetQuestions(NumberOfQuestions);
    system ("PAUSE");
    return 0;

}

void GetQuestions(int NumQuests)
{
    for(int Questions=NumQuests; Questions>NumQuests; Questions++)
    {
        ItemsInQuestion[0]=(rand()%(263))+1;
        ItemsInQuestion[1]=(rand()%(263))+1;
        ItemsInQuestion[2]=(rand()%(263))+1;
        ItemsInQuestion[3]=(rand()%(263))+1;
        cout << ItemsInQuestion[0] << ' ' << ItemsInQuestion[1] << ' ' <<ItemsInQuestion[2] << ' ' << ItemsInQuestion[3];
    }
}

配列内の値を出力する行は表示されません。これは何が原因ですか?

4

2 に答える 2

7

なぜなら

 int Questions=NumQuests; 

 Questions>NumQuests;

お互い好きじゃない。

に設定Questionsし、が厳密に よりも大きいNumQuests限り続行するようにループに指示します。QuestionsNumQuests

あったとしても、すぐにオーバーフローや未定義の動作に遭遇するでしょう。

于 2013-05-03T12:03:37.677 に答える