gpt4 book ai didi

c - 时间段错误(0);

转载 作者:太空狗 更新时间:2023-10-29 15:17:12 25 4
gpt4 key购买 nike

我正在重写一个旧程序来做一些新的事情,突然我在下面的代码行中遇到了一个段错误:

time_t seconds_since_time_begun = time(0);

为什么,为什么?

更新:
我在我的代码中包含了 time.h 头文件,当我尝试下面建议的 pmg 时,两个变量的大小都是 4。

当我尝试以下操作时:

printf("4\n");
// time_t seconds_since_time_begun = time(0);
printf("5\n");

即使在调用 time() 的行被注释掉后,我仍然在打印“4”后立即出现段错误。不输出“5”。这怎么可能?

更新 2:
我一步一步地重建了我的函数,试图找出我的代码中发生错误的地方,我想我找到了问题所在。我不确定出了什么问题,但它与整数数组值和 0 之间的比较有关。所以,我不认为段错误是由我调用 time(0) 引起的。但我是仍然不确定到底发生了什么。总之,问题解决了。谢谢大家。

最佳答案

也许您的栈帧中有一个大得离谱的对象溢出了栈?参见 this blog post有关如何发生这种情况的详细示例以及对情况的分析。 time(2)函数允许将 NULL 传递给它,并且您的 time() 实现不太可能有错误。

关于c - 时间段错误(0);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1731802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com