C语言如何使一个变量每隔一秒减去一

如题所述

增加#include<time.h>头文件,包含time库函数,其中有函数clock为C中的计时函数。
函数返回值clock_t是用typedef long clock_t 声明的长整型,每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。利用这点,可以写出如下延时函数。
void sleep( clock_t wait )
{
clock_t goal;
goal = wait + clock();
while( goal > clock() ) ;
}
想延时1秒把参数设置成1000就OK了 ,有了这个函数,减一很好实现了吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-24
‘2’是字符,ASC码50

c-'2'相当于c-50
追问

这和我问题有关吗

第2个回答  2011-12-24
#include <stdio.h>
#include <time.h>

int main( )
{
time_t nowtime;
struct tm *t;
int s;
for(;;){
time( &nowtime );
t = localtime( &nowtime );
if(s-t->int tm_sec>=1) 你要的变量--;
}
return 0;
}

看懂没?

怎样用C语言判断一个变量是增大还是减小?
做一个temp变量,先把N的值赋给temp,每隔2秒,读取一下当前N,然后与temp比大小,最后把当前N的值赋给temp。大概就是这个思路吧

可不可以帮我写一个8*8点阵显示0~9数字循环的C语言程序,要求每隔...
break;case 1:printf(" *** \\n");printf(" * \\n");printf(" * \\n"

C语言怎么实现一个函数每隔一秒实行一次a++?
与主函数无关肯定只能创建线程了啊。。Linux C 用 pthread_t 类型,在线程回调函数中加入sleep(1)或者usleep(1000),然后编译时别忘了加上-lpthread选项 Windows下用CreateThread函数。具体的去搜索引擎上找找了。要不就用while循环,然后判断time_t。不过我感觉也比较复杂 ...

...On健,当按下此健时数码管每隔1秒显示1, 另一个为Off健,按下此健时...
void Timer1_Init(void)\/\/¶¨Ê±8ms { TCCR1A = (0<<WGM11)|(0<<WGM10);TCCR1B = (1<<WGM12)|(0<<WGM13); \/\/Timer work in output compare CTC mode;TCCR1B |= (0<<CS12)|(1<<CS11)|(1<<CS10); \/\/fINT = SYSCLK\/64 TCNT1 = 0x00; \/\/Clear count;...

...c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮,并循环...
本文详细介绍了如何使用C语言在五一单片机上编程,控制P1口实现八个发光二极管的交替点亮。首先,我们定义了一个延时函数delay(),通过两个for循环实现毫秒级的延时。在主函数中,程序初始化P0口为全灭状态,然后进入一个无限循环,每隔一秒,将P0口的特定位设置为1,点亮两个LED,延时1秒后切换到下一个...

...c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮,并循环...
while(1){ delay(1000);P0 = 0xc0;\/\/点亮前两个发光二极管P0.0和P0.1;delay(1000);\/\/延时1秒 P0 = 0x30;\/\/点亮第三个和第四个LED delay(1000);P0 = 0x0c;delay(1000);P0 = 0x03;} } 二、include <reg52.h> include <intrins.h> define uchar unsigned char define uint ...

用keil. c语言编写每隔一秒亮一个灯,总共8个灯
EA=1;\/\/开总中断 ET0=1;\/\/开T0中断 TR0=1;\/\/启动T0定时器 t=0Xfe;P1=t;while(i){ if(a==20){ t=_crol_(t,1);P1=t;a=0;i--;} } while(1)P1=0xff; \/\/8个led灯为共阳接法 } void time0() interrupt 1 { TH0=(65535-50000)\/256;\/\/设定50ms计时初值 TL0=(65535...

怎么用C语言编定时器?
nElapse: 指定发送消息的时间间隔,单位是毫秒。这里我们设定为1000,也就是一秒。lpfnTimer: 指定定时器消息由哪个回调函数来执行,如果为空,WM_TIMER将加入到应用程序的消息队列中,并由CWnd类来处理。这里我们设定为NULL。最后代码如下:SetTimer(1,1000,NULL);⑵ 通过Class Wizard给主窗口类添加一个...

用C语言设计一个PC时间记录系统,414855138@qq.com
sleep(1); fclose(fp); } return 0;}大概这样了, 时间的格式化输出 可以调用 time.h 里面的strtime。函数原型:size_t strtime(char *s, size_t maxsize, const char * format, struct tm *timeptr);还有写文本的话,要从上次停止写时间的那个编号向下接着写?

用C语言编写,单片机控制LED灯并用定时器延时,每隔一秒使LED依次点亮
定义一个引脚,用一个while,分别赋值0.1,中间用delay()

相似回答