你好,我是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/