标题:[求助]为什么A=rand();A总是等于346呢?
只看楼主
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
结帖率:83.33%
 问题点数:0 回复次数:5 
[求助]为什么A=rand();A总是等于346呢?
[求助]为什么A=rand();A总是等于346呢?
搜索更多相关主题的帖子: rand 
2006-07-13 21:26
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

rand()要设范围才可以生效 例如 rand(10000)%100


c++/C + 汇编 = 天下无敌
2006-07-13 21:29
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

不只是这个原因.
应该要和时间函数配合一起使用.
srand(time(NULL));//包含在#include <time.h>中
你再试试啊


倚天照海花无数,流水高山心自知。
2006-07-13 21:56
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
我试了 为什么 总是在 -21700  -----  -21758之间呢?

[此贴子已经被作者于2006-7-14 10:37:48编辑过]



羊肉串 葡萄干 哈密瓜!!
2006-07-14 10:35
yddjj1979
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-7-14
得分:0 

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int a;
srand((unsigned)time(NULL));
a=rand();
printf("%d\n",a);

}
再试试呀,这个就会每次不一样呀 ,rand()函数在0-32767之间

2006-07-14 16:39
海子
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-13
得分:0 
rand()函数是一个伪随即函数,导致每次的结果都一样,
因而必须配合srand()函数使用才能得到一个随即的结果;
2006-07-14 20:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-78165-1-1.html




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

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