c语言中有没有函数可以计时,比如我定义一个数组给它赋初值,把值打印出来,等到十秒后,自动让数组等于

c语言中有没有函数可以计时,比如我定义一个数组给它赋初值,把值打印出来,等到十秒后,自动让数组等于另外的数,并且打印出来。但是十秒期间程序还是在运行的,只是后台把值换了?

如果10秒期间不需要该程序操作/执行别的指令,只需在10秒后变动数组的值以及输出,可以用sleep(int)函数,参数是休眠/等待的时间, 单位是秒。

基本逻辑如下:

//定义赋值数组并打印

sleep(10);

//修改数组值并打印

数组的值并不是在休眠的10秒内而是在休眠后进行的,但由于指令执行的很快所以感觉不到两者的区别(数组巨大的另说)。

 

如果程序在10秒期间还要处理别的指令,则需要创建一个线程,在线程中使用sleep(10);然后再在该线程中修改数组的值并输出,修改和输出数组值时需要考虑数据互斥,比较麻烦一点。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-22
如果是单片机的话定时器最方便。如果是纯C语言的话,可以用个时钟,做个计时器,然后定时10s,赋值输出。