#ifndef UNICODE
#define UNICODE
#endif
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <Windows.h>
int main()
{
char buffer[30];
int counter=0;
for(int i=0; i<22 ; i++)
{
Sleep(1000);
printf("%d %d\n",counter++,time(0));
}
system("pause");
return 0;
}
該版本正常工作,它輸出計數器和最後22秒的時間戳。不幸的是,當我看似無關的事情 - 替換計數器和時間(0),即printf("%d %d\n",time(0),counter++);
時,函數始終打印0代替計數器!這個奇怪的事實的任何解釋?printf中的兩個動態參數
你在哪個平臺上,那裏有什麼'sizeof(time_t)'? –
平臺上'time'的實際返回類型是什麼?對於我們所知的所有情況,它可能是「double」或「char [13]」。 –