微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在没有头文件的情况下调用像 time() 这样的 C 函数?

如何解决如何在没有头文件的情况下调用像 time() 这样的 C 函数?

根据我查过的文档,time_t time(time_t *seconds) 是在 <time.h>文件下声明的。然而,当我运行这段代码时:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    srand(time(NULL));
    printf("%d",rand());
    return 0;
}

包括 <time.h>,它工作正常,或者至少工作正常。这是怎么发生的?

解决方法

不能正常工作,如果您启用编译器警告。如果没有必需的标题,它会抛出一个警告,比如

1347694184/source.c: In function ‘main’:
1347694184/source.c:7:11: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
     srand(time(NULL));
           ^~~~

故事寓意:始终使用适当的编译器设置来发出警告(如果可能,将警告视为错误)。注意警告,你会更安全。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。