并且可以显示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 <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秒后要执行的语句
*/
}
#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");
}追问
#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
具体一点呗?是什么题目?