| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7763 人关注过本帖, 1 人收藏
标题:为什么在产生随机数的时候srand(time(0))里面的数字一定得是0呢,0放这又是 ...
只看楼主 加入收藏
Loason
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-1-15
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:9 
为什么在产生随机数的时候srand(time(0))里面的数字一定得是0呢,0放这又是什么意思。
求解,谢了
搜索更多相关主题的帖子: 数字 
2012-01-31 09:32
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
0可以换成NULL,这样就和time()函数返回值一致了吧。我是这么理解的。

梅尚程荀
马谭杨奚







                                                       
2012-01-31 09:44
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:3 
0表示不存储time()的返回值。
time()原型:time_t time(time_t *timer),返回值将存储在timer指定的位置,参数为0表示不存储返回值。
2012-01-31 09:47
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:3 
以下是引用heroinearth在2012-1-31 09:47:28的发言:

0表示不存储time()的返回值。
time()原型:time_t time(time_t *timer),返回值将存储在timer指定的位置,参数为0表示不存储返回值。



原来是这样的啊 呵呵 以前只是知道这样用 而不知道到底是干什么呢啊

用心做一件事情就这么简单
2012-01-31 09:49
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:3 
围观学习~

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-31 10:59
Loason
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-1-15
收藏
得分:0 
回复 3楼 heroinearth
不是很明白,不过谢谢了。
2012-01-31 11:05
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:3 
回复 3楼 heroinearth
原来如此,受教了

酱油实习生
2012-01-31 11:20
yxiangyxiang
Rank: 3Rank: 3
来 自:/\/\/\/\/
等 级:论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
收藏
得分:3 
我发现不要time(0)好象随即数还是一样啊
2012-02-01 22:15
小惚
Rank: 2
等 级:论坛游民
帖 子:14
专家分:29
注 册:2012-2-1
收藏
得分:3 
0代表NULL,而time(null)是获得当前时间的意思。
2012-02-02 21:39
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
以下是引用Loason在2012-1-31 11:05:40的发言:

不是很明白,不过谢谢了。
如果不是 null 的话,就需要提供一个 指向time_t的指针。time 会把它指向的对象也赋上值。即:
time_t a, b
a = time(&b)
的话,a 和 b 就是一样的值。

如果你想获得当前时间,下面两种写法的意思其实一样:
time_t t
t = time(0);    // time(&t);
不过当你想在表达式里用 time() 返回的值,那么后者可能会方便一点:
time_t t
srand(time(&t));    // t=time(0); srand(t);

如果你就想用时间做初始化种子,那么传 null 或者 0 进去,还可以省下声明一个 time_t 的功夫。
time() 的实现类似于:
程序代码:
time_t time(time_t *t)
{
    time_t timer = ...; /* 获得时间 */
    if (t != NULL)
    {
        *t = timer;
    }
    return timer;
}
2012-02-03 10:13
快速回复:为什么在产生随机数的时候srand(time(0))里面的数字一定得是0呢,0放这 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027697 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved