随机数
随机数产生器rand(),头文件为#include<stdlib.h>
#include<stdio.h> #include<stdlib.h> int main() { int value; int i; for(i = 0; i < 10; i++) { value = rand(); printf("value = %d\n",value); } return 0; }
运行结果:
value = 41
value = 18467
value = 6334
value = 26500
value = 19169
value = 15724
value = 11478
value = 29358
value = 26962
value = 24464
rand实际是伪随机数产生器,每次调用rand产生的随机数都是一样的。
所以需要配合srand函数-随机数种子发生器来使用
srand()的参数是整数。参数一样,rand()产生的随机数就是不一样的,如果参数一样,产生的随机数就会一样,所以还要配合time函数来使用
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { time_t tm = time(NULL); srand(tm); int value; int i; for(i = 0; i < 10; i++) { value = rand(); printf("value = %d\n",value); } return 0; }
这样配合系统时间,在srand函数中产生不同的随机数种子,生成的随机数就会不一样了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)