我希望它看起来像"距离上次打开文件已经00小时00分43秒了。"。我怎样才能使数字保持整数,而不是浮点?
#include <stdio.h>
#include <time.h>
int main(){
int result,h,m,currentTime,previousTime;
FILE *fp;
currentTime=time(NULL);
result=currentTime-previousTime;
h=(result/3600);
m=(result/60);
fp=fopen("aeg.txt","r");
if(fp==NULL){
printf("No such file existsn");
}else{
fscanf(fp,"%d",&previousTime);
printf("It's been %d hours, %d minutes and %d seconds since you last opened the file",h,m,result);
fclose(fp);
}
fp=fopen("aeg.txt","w");
fprintf(fp,"%d",currentTime);
fclose(fp);
return 0;
}
- 您的
previousTime
变量未初始化,这会导致result
错误
更改程序中语句的顺序就足以解决此问题。
#include <stdio.h>
#include <time.h>
int main(){
int result,h,m,currentTime,previousTime;
FILE *fp;
fp=fopen("aeg.txt","r");
if(fp==NULL){
printf("No such file existsn");
}else{
fscanf(fp,"%d",&previousTime);
fclose(fp);
}
currentTime=time(NULL);
result=currentTime-previousTime;
h=(result/3600);
m=(result/60);
printf("It's been %d hours, %d minutes and %d seconds since you last opened the file",h,m,result);
fp=fopen("aeg.txt","w");
fprintf(fp,"%d",currentTime);
fclose(fp);
return 0;
}
- 您关于浮点值的问题不清楚,因为程序中没有
float
变量,只有int