C语言随机数与验证码的实现

本文介绍了C语言中如何生成随机数,探讨了rand()与srand()函数的使用,强调了srand()初始化的重要性,并通过示例展示了如何确定随机数的生成范围。最后,基于这些知识实现了随机验证码的生成,给出了一些实际运行的例子。

ps:最近写代码被量子力学编译器恶心到了 自家的编译器不同版本对.和->的要求还不一样 本地编译器结果3平台编译结果1 什么鬼设定(没错gcc我说的就是你个憨批)这还写个p的代码了?我直接整个随机数宁自己量子力学去吧

随机数的生成

首先,要说明的是通常情况下我们看到的函数生成的随机数不是真的随机数而是通过一定的“魔术算法”生成的伪随机数 那么为啥嘞?

rand与srand

函数功能:

int rand();//返回值为随机数,参数为空
int srand(unsigned int seed);//对伪随机序列进行初始化 

通俗的讲 在生成伪随机数之前要对伪随机序列进行初始化,即设置随机数种 如果不调用srand()的话 默认为srand(1) 而srand的参数又决定了随机数序列的顺序 也就是说如果srand的值保持不变那么 生成的随机序列的顺序也一直不变 所以伪随机数就“伪”在这里了 而一般来说我们又不会设置一个变化的变量传入到srand()中 所以要想真的随机 就要传入一个自变量 最常用的是时间

//#include <time.h>
time(NULL);//返回从1970.1.1日0点到现在经过的秒数

从time(NULL)的功能可知 其值每秒都会递增1 因此正适合作为随机数种

具体实现

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
   
   
	int num;
	srand(time(0));
	for(int i=0;i<10;i++
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值