C语言定时器,例如过了60秒开始执行程序,注释

并且可以显示1 变为 2 变为 3……和60 变为 59 变为 58……这样的计时

第1个回答  2013-10-09
#include <stdio.h>
#include <windows.h>
void main()
{
int _t=60;
while (_t>0)
{
Sleep(1000);
_t--;
}

/*
      60秒后要执行的语句
*/
}

追问

可以显示计时吗?怎么修改?

追答

可以的

#include <stdio.h>
#include <windows.h>
int SetSecondTime(int t)
{
for(;--t;) return t;
}
void main()
{
    int _t=60;

    while (_t>0)
    {
        printf("倒计时%d:",_t);
        _t=SetSecondTime(_t);
        Sleep(1000);
        printf("\b\r");
    }
     
    /*
      60秒后要执行的语句
    */
}

 

追问

for(;--t;) 常见的是这样写:for(t=;t<=;t++) 就是原格式吧
for(;--t;)的--t是指t--吗?这个语句什么意思?

Sleep(1000) 这个语句什么意思?1000可以换成其它数字吗?

追答

for(;--t;)这种是简写形式,它相当于for(;true;)即只要t不为0它就一直为真。
Sleep(1000); 是让程序睡眠1秒钟,1000毫秒=1秒。

追问

printf("\b\r倒计时%d:",_t); = printf("倒计时%d:",_t); printf("\b\r"); 可以这样分开写吗?
这两个运行正确,显示的时候有一点不同

追答

不可以分开,它有它的用途。你自己可以调试下就知道。

本回答被提问者采纳
第2个回答  2019-11-16
所以定时器也有误差的,但是操作系统分给程序的时间片可以是微秒级的,所以这误差是可控制的。
第3个回答  2019-12-06
所以定时器也有误差的,但是操作系统分给程序的时间片可以是微秒级的,所以这误差是可控制的。
第4个回答  2013-10-09
#include<stdio.h>

#include<time.h>//需要头文件
void sleeptime(int tm)//写一个函数 睡眠tm秒
{

 int start=time(0);//获取进入函数时的时间

 while(time(0)-start<tm);//获取当前时间-进入函数时间  如果没到tm那么长则循环至满足为止

}

void main()

{

 sleeptime(60);

 printf("asdasdasdas");

}

追问

可以显示计时吗?怎么修改?

第5个回答  2013-10-09
具体一点呗?是什么题目?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网