c语言中 srand((unsigned)time(NULL)); 这句话是什么意思(尤其是 NULL)

有关随机数的程序... 有关随机数的程序 展开
 我来答
百度网友d8c86b8
推荐于2016-10-10 · TA获得超过110个赞
知道答主
回答量:61
采纳率:0%
帮助的人:70.6万
展开全部
以时间为种子,其实再产生随机数的函数中都会加,这样可以使得取得随机数更有代表性,否则取出来的数可能是服从正态分布的!
一句标准格式而已,需要记的!
追问
那这个呢srand((int)time(0)); 
是不是一样的?什么区别??
追答
我没那样写过,不过每次都是用NULL,但是NULL==0,所以我认为这种用法也可以,你可以编译试试,我觉得可以。
vsbat
2011-05-01 · TA获得超过241个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:173万
展开全部
这是两个函数的调用
一个是 srand(unsigned int) ;
一个是 time(long *t) ;

这里是把他们两个合在一起写,time函数的返回值作为srand函数的 参数 ,而NULL就是time函数的输入参数 ,time 函数要求参数是一个指针,因此得用 NULL,NULL代表指针不知向任何变量,而 0 则是 int 型的,类型不符
如果非要用0, 也可以进行强制类型转换, srand((unsigned)time ( (long *) 0)) ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhccsd
2011-04-30 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:907万
展开全部
你可以看看time.h中那个函数的原型 _CRTIMP time_t __cdecl time(time_t *);
这个函数接受的是一个指针,一般指针要么指向一个地址,要么就是NULL
time_t这个结构体在time.h中也有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式