这是一个我试图理解的程序。
源代码
typedef float Time;
Time getCurrentTime() {
time_t rawtime;
struct tm * timeinfo;
Time currentTime;
time ( &rawtime ); //get system time
timeinfo = localtime ( &rawtime );//convert to local time
// tm_hour, tm_min
currentTime = (float)timeinfo->tm_hour + timeinfo->tm_min * 0.01;
printf("InnerTime:%7.2f\n", currentTime);
return currentTime;
}
int main(void) {
Time tm = getCurrentTime();
printf("OuterTime:%7.2f", tm);
return 0;
}
为什么在
%
的末尾还有一个额外的OuterTime
?但是,
%
的结尾没有InnerTime
! 最佳答案
在外部时间打印中,您错过了在格式字符串中包含newline
,因此在程序打印最后的输出和退出之后,提示在打印输出之后立即返回。
尝试
printf("OuterTime:%7.2f\n", tm);
强制提示出现在下一行。
关于c - time.h:打印时间在屏幕上还有另一个“%”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34813431/