C++随机数 rand()函数.
1 #include <iostream>
2 #include <cstdlib>
3 using namespace std;
4
5 int main()
6 {
7 cout<<rand()<<endl;
8 }
随机种子默认是1,我的执行结果是
1804289383
如果别人跑这段程序,默认种子也会是1.所以我和别人得到的随机数结果是一样的,我这样理解有错吗?
哪位大哥跑一下,我的运行环境是redhat的虚拟机.
[解决办法]
在我的机器上跑出来的是41
这个主要影响应该是编译器吧
[解决办法]
不同的机器种子不一定一样,因为编译器不同,对种子的初始化方法也就不一定相同。
同时同样的种子也未必得到同样结果,因为不同的编译器可能使用了不同实现方式的库函数。不同的库函数实现方式算出来的序列自然也不同,除非他们正好选用了完全相同的算法和参数。
[解决办法]
我的是41,我用的是VC6.0,这个与编译器有关吧