我尝试编写一个函数,用于用户决定的范围内的随机数。我使用上面定义的函数RandomNumber在int main()中调用srand()。
我知道如果在main()中做随机数方程,同时在main()中调用srand(),它会按照我想要的方式工作。
这是一个没有做我想要的事情的程序。返回值是数字和字母的组合。我需要返回一个由用户输入确定的范围内的数字。本质上,我需要在int main()函数外部创建一个随机数生成函数,然后能够调用int main()内部的RandomNumber。我在调用srand(time(NULL))时遇到了麻烦;.我必须在main()内部调用srand(),否则随机数不会正确生成。
#include <iostream>
#include <ctime>
using namespace std;
int RandomNumber(int userNum1, int userNum2) {
return (rand() % (userNum2 - userNum1) + userNum1);
}
int main()
{
srand(time(NULL));
int userNum1;
int userNum2;
cin >> userNum1;
cin >> userNum2;
cout << RandomNumber << endl;
return 0;
}
即使我在RandomNumber函数内部调用srand(),它也不会按照我想要的那样工作。//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
这是一个程序,我想做什么,但我试图定义函数RandomNumber以上int main()。
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int RandomNumber;
int userNum1;
int userNum2;
cin >> userNum1;
cin >> userNum2;
RandomNumber = rand() % (userNum2 - userNum1) + userNum1;
cout << RandomNumber << endl;
return 0;
}
//////////////////////////////////////////////如何在main()之外创建我的RandomNumber函数并调用它insdide main()?
3条答案
按热度按时间qxgroojn1#
问题是:如果
RandomNumber
是一个函数,cout << RandomNumber
会尝试打印该函数在内存中的地址(它实际上是未指定的;在某些系统上,它只是打印1
来确认函数存在的事实)。要调用函数,请提供参数列表:
即使一个函数没有得到任何参数,你也必须提供圆括号来调用它。例如:
在运行良好的代码中
RandomNumber
不是一个函数,而是一个数字。打印它将不会有任何意外。pobjuy322#
在我看来,我能够弄清楚最精简的版本。
hlswsv353#