找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5109|回复: 8
收起左侧

keil可以调用rand函数吗

[复制链接]
ID:401109 发表于 2018-10-20 23:34 | 显示全部楼层 |阅读模式
我想调用rand函数产生随机数,头文件用了time,stdio,stdlib,但是不能打开time.h
回复

使用道具 举报

ID:211052 发表于 2018-10-22 23:00 | 显示全部楼层
用定时器的计数值初始化srand,然后用rand产生随机数就可以了
回复

使用道具 举报

ID:401109 发表于 2018-10-22 21:20 | 显示全部楼层
了解了下,用rand还要用srand,srand里有一个种子,要让这个种子每次调用都不一样,佛则每次rand产生的随机数是一样的,我用time.h头文件是希望用电脑自带的时间来产生可变的种子,但是51单片机里没有,有没有什么好的办法,比如用定时器的方法
回复

使用道具 举报

ID:397180 发表于 2018-10-22 16:54 | 显示全部楼层
可以的,调用对应的头文件就好,这里大神特多
回复

使用道具 举报

ID:357520 发表于 2018-10-22 10:44 | 显示全部楼层
hzxyy 发表于 2018-10-21 10:54
#include

t=t + rand() *20;

您写的这个后面注释是乱码,没看懂啥意思,能再次解释下吗,谢谢
回复

使用道具 举报

ID:413396 发表于 2018-10-22 10:18 来自手机 | 显示全部楼层
可以重新试一下
回复

使用道具 举报

ID:164602 发表于 2018-10-22 09:45 | 显示全部楼层
rand()在stdlib.h中,与time.h无关。
time.h不是keil的自带头文件,是程序员自己写的,你得找到写这个内容的人才能知道其内容。
回复

使用道具 举报

ID:413217 发表于 2018-10-21 18:52 | 显示全部楼层
可以,重新试下
回复

使用道具 举报

ID:224003 发表于 2018-10-21 10:54 | 显示全部楼层
#include<stdlib.h>

t=t + rand() *20;
srand(t); //Ëæ»úêy3õê¼»ˉ     
iNum=(char)(rand()%10); //è¡Ëæ»úêy(0¡«9)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表