#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 秒的时间戳。不幸的是,当我做了看似无关的事情 - 替换 counter 和 time(0) 时printf("%d %d\n",time(0),counter++);
,函数总是打印 0 代替 counter!对这个奇怪的事实有什么解释吗?