C语言生成随机数技巧:srand、rand与time函数的正确使用方法详解

C语言生成随机数需要用到srand、rand、time。

C语言生成随机数技巧:srand、rand与time函数的正确使用方法详解

1.直接使用rand不能得到随机数。 rand 会生成一个 0 到 RAND_MAX 之间的整数,是 RAND_MAX 的宏。

例子:

#include 
//#include 
int main()
{
	int random=0;
	random=rand();
	printf("random=%d\n",random);
	return 0;
}

你会发现运行结果是一个固定值。那么这样解决,rand是一颗种子,srand需要播种。

ps:实际上可能会用到stdlib.h头文件,但是我用的编译器通过了。这很奇怪。我正在挖一个洞。

2.加入srand。

例子:

#include 
#include 
int main()
{
	int random=0;
	srand(1);
	random=rand();
	printf("random=%d\n",random);
	return 0;
}

你会发现结果还是没有改变。就像上面的例子一样,尝试改变srand(2),你会发现结果发生了变化。但是,如果你反复运行,你会发现结果仍然会重复。我发现,当srand没有设置时,默认是srand(1)的状态。

srand在播种的时候,播种的内容会是固定的,当rand取值的时候,也会取一个固定的值。

然后改成这样?

对了,通过修改srand(unsigned int Seed);中seed的值,是不是得到这个值比较合适呢?

答案是与时间联系起来。

3.添加time.h的时间函数,time()精确到秒。

例子:

#include 
#include 
#include 
int main()
{
	int random=0;
	srand((unsigned) time(NULL));
	random=rand();
	printf("random=%d\n",random);
	return 0;
}

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读