1

每次我运行这段代码时,它都会返回这个值:1804289383 如果我在 main() 中移动 random() 的主体,它运行得很好。

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

int random(int);

int main()
{

    cout << random();
    cin.get();
    return 0;
}

int random(int) 
{
    unsigned seed = time(0); 
    srand(seed);              

    int randomNum = rand()%4 + 1;
    return randomNum;
}
4

1 回答 1

2

问题是它random()需要一个论点,而您没有提供论点。

如果你这样称呼它:

cout << random(0);

它会工作的。

然而,更好的方法是消除该参数,因为它没有被使用。

最后但同样重要的是,您应该只srand()在程序启动时调用一次。

于 2013-03-02T20:47:47.220 回答