隔三秒输出一次系统时间,程序问题。。。
#include<stdio.h>
#include<time.h>
#include<string.h>
int main()
{
int i=0;
char s[]="Thu Jan 01 08:00:03 1970",a[50]={-1},*p;//想要它隔三秒输出一次系统时间Thu Jan 01 08:00:03 1970
time_t timep,timep1,timep2;
time(&timep);
time(&timep1);
timep2=timep1-timep;
p=ctime(&timep2);
for(;*p!='\0';i++)
{
a[i]=*p;
p++;
}
printf("time is:%s\n",a);
while(strcmp(a,s)!=0)
{
time(&timep1);
timep2=timep1-timep;
p=ctime(&timep2);
for(i=0;*p!='\0';i++)
{
a[i]=*p;
p++;
}
}
printf("time2 is:%s\n",ctime(&timep1));
return 0;
}
为什么strcmp(a,s)!=0老是判断有问题,总是死循环、、、求教高手
[解决办法]
#include<stdio.h>#include<time.h>#include<string.h>#include<stdlib.h>int main(){ char s[]="Thu Jan 01 08:00:03 1970", a[50] = {-1}, *p; time_t timep,timep1,timep2; time(&timep); time(&timep1); timep2=timep1-timep; p=ctime(&timep2); strcpy(a, s); printf("time is:%s\n",a); printf("%d\n", strcmp(a, s)); while(strcmp(a,s)!= 0) { time(&timep1); timep2=timep1-timep; p=ctime(&timep2); strcpy(a, s); } printf("time2 is:%s\n",ctime(&timep1)); return 0; }