您好,我是 Linux 和 c 编程的新手,所以这可能是个愚蠢的问题,但我找不到答案。
我正在写一个家庭作业,他们希望我在程序结束时使用 time()
打印执行时间函数,所以当我在程序中使用该函数时,我收到了消息 segmentation fault (core dumped)
当我将其删除时,该程序可以正常工作。
然后我在下面的代码中创建了一个测试文件:
#include <stdio.h>
int main()
{
time();
return 0;
}
我得到了同样的错误信息。
也试过:
#include <stdio.h>
int main()
{
time(NULL);
return 0;
}
和
#include <stdio.h>
#include <time.h>
int main()
{
time_t t;
time(&t);
return 0;
}
并得到同样的错误。
所以我做错了什么?
谢谢
最佳答案
在前两个示例中,您忘记包含 time.h。这就是这些示例中段错误的原因。如果您使用 gcc,请尝试使用 -Wall 进行编译(这会打开所有警告)。您应该会收到一条警告,指示函数“time”的隐式声明 - 换句话说,您忘记包含 time.h。
但是,您的最后一个示例对我来说效果很好。但是,如果您不断遇到段错误,请尝试使用 gdb 进行调试。
关于c - 使用时间函数时出现段错误(核心转储)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939415/