我试图用C:
连续得到两个随机数#include <time.h>
#include <stdlib.h>
void testcollgenarray() {
for(int i=0; i<10; i++)
{
int r1 = rand() % 256;
int r2 = rand() % 256;
cout << r1 << endl;
cout << r1 << endl;
}
}
显然,在每个循环中,随机数生成器输出相同的数字:
207
207
41
41
98
98
49
49
6
6
8
8
95
95
79
79
154
154
252
252
答案 0 :(得分:3)
cout << r1 << endl;
cout << r1 << endl;
// ^-- You're printing r1 twice
答案 1 :(得分:2)
你应该给你的随机生成种子。例如,在随机生成之前使用此行代码一次:
srand(time(0));
使用当前时间进行随机生成。