当前位置: 技术问答>linux和unix
关于函数内声明函数问题?
来源: 互联网 发布时间:2016-01-01
本文导语: 代码: #include #include char *timestr() { time_t time(); char *ctime(); long t; static char buf[32]; (void)time(&t); (void)strcpy(buf, ctime(&t)); buf[strlen(buf) - 1] = NULL; return buf; } int main() { ...
代码:
#include
#include
char *timestr()
{
time_t time();
char *ctime();
long t;
static char buf[32];
(void)time(&t);
(void)strcpy(buf, ctime(&t));
buf[strlen(buf) - 1] = NULL;
return buf;
}
int main()
{
printf( "%sn",timestr());
return 0;
}
请问timestr函数中前两行time_t time();和char* ctime();启什么作用?看了半天没看明白。(这是别人的代码)。
我的系统Unix 编译器用的是cc。
#include
#include
char *timestr()
{
time_t time();
char *ctime();
long t;
static char buf[32];
(void)time(&t);
(void)strcpy(buf, ctime(&t));
buf[strlen(buf) - 1] = NULL;
return buf;
}
int main()
{
printf( "%sn",timestr());
return 0;
}
请问timestr函数中前两行time_t time();和char* ctime();启什么作用?看了半天没看明白。(这是别人的代码)。
我的系统Unix 编译器用的是cc。
|
前面就是函数的声明而已,没什么用。
|
如果
time_t time();
char *ctime();
这两个函数的实现在timestr之后,如果不先声明的话会出现warning
time_t time();
char *ctime();
这两个函数的实现在timestr之后,如果不先声明的话会出现warning
|
没用,time和ctime函数在time.h中声明了,而且参数不一样,只是声明了2个没有用到的函数而已。
如果你编译选项带上-Wall的话,应该可以看到有warning
如果你编译选项带上-Wall的话,应该可以看到有warning