C++用srand()随机产生两组int数,但直接调试和逐过程调试的结果不一样??
使用的是C++语言,用srand()随机产生了两组int数,并分别打印。
直接调试(Ctrl+F5)的结果是两个数组数据是一样的;
但逐过程调试(F10)调试的结果又是正确的,两数组数据不一样。
试了很多次,也搞不懂什么情况??求大佬解答
这是随机生成数的代码段
//随机生成一组牌,默认生成数范围是[1-15]void Deal_Card(int arry[]) {
int length = 10;
srand((int)time(0));
for (int i = 0; i < length; i++)
arry[i] = (rand() % 15) + 1;
}
直接编译结果
逐过程调试的结果
回答
srand((int)time(0));
这个写在main函数开头的地方,不要写在函数里。
因为直接运行,间隔时间很短,time(0)得到的种子一样,所以随机数输出一样。
以上是 C++用srand()随机产生两组int数,但直接调试和逐过程调试的结果不一样?? 的全部内容, 来源链接: utcz.com/a/58563.html