读书人

c standard library中的rand函数,该怎

发布时间: 2012-03-02 14:40:28 作者: rapoo

c standard library中的rand函数
c中的rand函数号称取值范围为0到最大整数,但是我测试了一下,发现不是这样
#include <cstdlib>
#include <limits>
using namespace std;

int main(){
cout << numeric_limits<int>::max() << endl;

while(1){
if(rand() > 100000)
break;
}

return 0;
}
我发现,rand()永远产生不了大于100000的数。

rand到底是怎么回事。奇怪。

[解决办法]
sorry

#include <stdlib.h> int rand( void );
功能: 函数返回一个在零到RAND_MAX 之间的伪随机整数。

你可以看下RAND_MAX的大小为多少?
[解决办法]
RAND_MAX
我印象中Windows下VC自带的库文件中是65536
Linux下面好像是2^31-1,也就是INT_MAX

读书人网 >C++

热点推荐