Mar*_*cus 2 c++ cout function call
我试图调用一个没有返回类型的函数,但它似乎没有被调用.
代码看起来像这样(总结):
#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];
}
}
Run Code Online (Sandbox Code Playgroud)
输出数组中的值的行永远不会出现.是什么造成的?
因为
int Questions=NumQuests;
Run Code Online (Sandbox Code Playgroud)
和
Questions>NumQuests;
Run Code Online (Sandbox Code Playgroud)
不喜欢对方.
你设置Questions为NumQuests然后告诉循环继续前进只要Questions严格大于NumQuests,它不是从一开始.
即使它是,你很快就会遇到溢出和未定义的行为.