rand()函数用来生成随机数

一、rand()函数

语法形式:

int rand(void)

1、返回类型为整型

2、rand函数返回的数是伪随机的,是通过某种算法来生成的随机数,并非真正的随机

3、返回值范围:0 ~ RAND_MAX 之间,RAND_MAX的值依赖编译器实现,大部分是32767

4、头文件:stdilb.h

比如:

但此时你再打印几次,你会发现生成的随机数还是和上次一样,并没有实现真正的随机,rand函数是通过算法里的”种子“来随机生成的,而默认”种子“是1

而种子的生成是由srand()函数实现的。

二、srand()函数

语法形式:

void srand(unsigned int seed)

所以只要让函数里的种子(seed)随机就行了,而一般用时间来作为种子,因为时间是变化的,而这又要提到一个新概念了

时间戳:是表示特定时间点的数字,以自1970年1月1日减去当前的时间,单位是秒

三、time() 函数

语法形式:

time_t time(time_t* timer)

1、返回类型 time_t 就是返回个整型

2、参数 timerNULL就把当前的时间差值返回去

3、头文件:time.h

所以只需要把srand放到rand前先调用,并把时间戳作为返回值设置种子就好了

因为前面srand的参数是unsigned int ,所以强制类型转换一下就好了

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
	srand((unsigned int)time(NULL));
	
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值