C时间函数ctime返回值的探讨

时间:2022-05-22 00:28:09

以下程序片段

time_t time_start = 1422960203;

time_t time_end = 1422961275;
char *p_time_start = ctime(&time_start);
char *p_time_end = ctime(&time_end);
//第1种输出方法
printf("t1 = %s t2 = %s ",p_time_start, p_time_end);

//第2种输出方法
printf("t1 = %s t2 = %s ",ctime(&time_start), ctime(&time_end));

//第3种输出方法

printf("t1 = %s",ctime(&time_start));

printf("t2 = %s",ctime(&time_end));


上述3中输出方法中:

第一种方法输出t1和t2均是time_end值;

第一种方法输出t1和t2均是time_start值;

只有第三种方法的输出是正确的。


下班了,原因明天再说。