在用srand利用time(null)生成随机数的时候,发现不管怎么样都是相同的数
int creatRandNum(void){
srand(time(NULL));
if(rand()%10!=0){
return 2;
}else{
return 4;
}
}
当用for函数调用的时候,你会发现无论如何都是同一个数。
问题其实在于对随机数种子的设置的位置上,最好是要设计在函数周期较长的函数中(main(函数))内部,而不应放在即时生成的函数上。
在用srand利用time(null)生成随机数的时候,发现不管怎么样都是相同的数
int creatRandNum(void){
srand(time(NULL));
if(rand()%10!=0){
return 2;
}else{
return 4;
}
}
当用for函数调用的时候,你会发现无论如何都是同一个数。
问题其实在于对随机数种子的设置的位置上,最好是要设计在函数周期较长的函数中(main(函数))内部,而不应放在即时生成的函数上。