这是一个我试图理解的程序。
源代码

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;
}

c - time.h:打印时间在屏幕上还有另一个“%”-LMLPHP
为什么在%的末尾还有一个额外的OuterTime
但是,%的结尾没有InnerTime

最佳答案

在外部时间打印中,您错过了在格式字符串中包含newline,因此在程序打印最后的输出和退出之后,提示在打印输出之后立即返回。
尝试

printf("OuterTime:%7.2f\n", tm);

强制提示出现在下一行。

关于c - time.h:打印时间在屏幕上还有另一个“%”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34813431/

10-11 19:44