【发布时间】:2009-03-18 20:01:14
【问题描述】:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
char *czas()
{
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time ( &rawtime );
timeinfo = localtime ( &rawtime );
strftime (buffer,80,"Now it's %I:%M%p.",timeinfo);
return buffer;
}
int main()
{
printf("%s",czas());
system("PAUSE");
}
我不知道为什么,但这个程序的结果只是“按任意键(...)”。我也尝试将其打印为 %c ,但它仍然无法正常工作。这个程序有什么问题?
【问题讨论】:
-
这是一个典型的错误——每个人都应该犯一次,然后他们就会了解“范围”。顺便说一句,由于“未定义”缓冲区可能仍在内存中,你很幸运它坏了。有时这样的东西不会被发现!