我写了一个随机数程序,代码如下:
#include <cstdlib>
#include <iostream>
#define MAX 11;
using namespace std;
int myrand(char *i);
void xy();
int n,m,k;
int main(int argc, char *argv[])
{
char lc[4] = " lc";
char *mnv="mnv";
myrand(lc);
myrand (mnv);
system("PAUSE");
return EXIT_SUCCESS;
}
int myrand(char *i)
{
srand((unsigned)time(NULL));
n = rand()%MAX ;
m = rand()%MAX ;
k = n + m;
cout << i <<"的第一张牌:"<< n <<" 第二张牌:" << m <<" 点数之和:"<< k<<endl;
return k;
}
运行结果是:
lc的第一张牌:7 第二张牌:9 点数之和:16
mnv的第一张牌:7 第二张牌:9 点数之和:16
就是说我两次调用 int myrand(char *i) 方法
myrand(lc);
myrand (mnv);
所产生的随机数是一样的,本人学习C++只有一周,所以弄不明白这是怎么回事,
我想请教各位高手帮忙给看下!!!
谢谢! QQ: 373655371