只用rand()函数可以得到“随机”整数,但没有初始化种子时得到的实际上是一个确定的数列,比如:
rand()%8+3得到的数列为:4 6 9 7 4 6 9······
所以要得到真正意义上的随机整数应该用srand()(也是包含在头文件stdlib.h中的库函数)初始化种子:
long seed=0L;
short Digital=0;
srand(seed);
Digital=rand()%8+3
但即使这样得到的也只是一个固定的数列,只不过和上面的不同而已!!这就看你要求高不高了。一般这样就够用了
如果你想要每次调用rand()时得到很“随机”的随机数,有一个方法很好,但很麻烦:
关键在于让种子每次都改变,这就要调用头文件time.h中的time()函数(返回1970年1月1日算起的秒数)
long seed=0L;
short Digital=0;
seed=time(NULL);
srand((int)seed);
Digital=rand()%8+3
这样可以得到与时间有关的随机指数啦,而时间又一直在变化····