我的操作系统是AIX4.3.3,代码如下,两个printf语句打印出来的结果不一样。但如果将date1,date2的声明去掉,则结果正常。
在下愚钝,久思不得其解,望高手不吝赐教,先谢过。
- #include <string.h>;
- #include <stdio.h>;
- #include <stdlib.h>;
- #include <time.h>;
- int main()
- {
- struct tm tm1;
- long ltime;
- char date1[16]="";
- char date2[16]="";
-
- tm1.tm_sec=0;
- tm1.tm_min=0;
- tm1.tm_hour=0;
- tm1.tm_mday=1;
- tm1.tm_mon=11;
- tm1.tm_year=100;
- printf("aaa\n");
- printf("%d,%.2d,%.2d,%.2d,%.2d,%.2d\n",tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
- ltime=mktime(&tm1);
- printf("%d,%.2d,%.2d,%.2d,%.2d,%.2d\n",tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
- return 1;
- }
复制代码
打印结果为:
- 2000,12,01,00,00,00
- 2000,11,30,23,00,00
复制代码 |