首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c standard library中的rand函数,该怎么处理

2012-03-02 
c standard library中的rand函数c中的rand函数号称取值范围为0到最大整数,但是我测试了一下,发现不是这样#

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

热点排行