1

このコードを実行するたびに、次の値が返されます。1804289383 main()内でran​​dom()の本体を移動すると、正常に実行されます。

#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()最後になりましたが、プログラムの起動時に1回だけ呼び出す必要があります。

于 2013-03-02T20:47:47.220 に答える