gpt4 book ai didi

C 编程 通过的time(&start)函数改变程序结果

转载 作者:行者123 更新时间:2023-11-30 14:26:49 24 4
gpt4 key购买 nike

最近我的 C 程序遇到了非常奇怪的情况。通常我的程序运行良好,但如果我只添加几行来检查耗时,结果就会改变。

结果改变的代码是:

while (!feof(pfInputFile) && (c = fgetc(pfInputFile)) != EOF){
for(i = 1 ; i < SEED_SIZE ; i++){
pcSeq[i-1] = pcSeq[i]; // Shift left all sequence
}
pcSeq[SEED_SIZE - 1] = c;
}

我添加并导致问题的代码如下:

#include <time.h>

time_t start, end;
time(&start); time(&end);

然后,上述源码读取到的字符就变成了无法识别的字符。

最佳答案

没有足够的细节,但我会大胆猜测。

您返回了一个指向局部变量pcSeq的指针。然后在另一个函数中调用 time(&start) ,结果 start 变量现在与 pcSeq 共享相同的堆栈地址,因此它被覆盖了。

关于C 编程 通过<time.h>的time(&start)函数改变程序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500114/

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