嵌入式学习7(time()函数的两种用法)

本文介绍了time()函数在嵌入式编程中的两种使用方法:1. 计算并显示本地时间,通过取模运算获取小时、分钟和秒,并将中国时间转换为格林时间。2. 作为随机数生成器的种子,通过srand(time(NULL))结合变量k避免在短时间内生成相同的随机序列。这两个实例展示了time()函数在实际程序中的实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//time_ttime(time_t *timer) 日历时间,从1970年1月1日0时0分到现在的秒数

1、计算并显示本地时间

#include<stdio.h>

#include<time.h>

void main()

{

       int hour,min,sec;

    int time_now;

       while(1)

       {

       time_now=time(NULL);

    sec=time_now%60;

       min=time_now/60%60;

       hour=time_now/60/60%24+8;//中国时间加8等于格林时间

       printf("现在的时间为%d:%d:%d\r",hour,min,sec);//  /r表删除一行

                                  //如果没有while(1)将一次也不显示

       }

}

注:还可以用时间戳计算程序执行时间



2、做时间种子产生随机数

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main()

{

 int i,k=0;

 for(int j=0;j<100;j++)

 {

  srand(time(NULL)+k++);//1秒以内时间种子一样所以要加入k改变种子

  i=rand()%10+1;       //不用时间做种子产生的是伪随机,每次套路相同

  printf("%d\n",i);  //余10产生0-9的随机数,加一范围变为1—10

 }

}



真理:

        是陌生的地方就多用,用习惯了就好了得意


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值