gpt4 book ai didi

c - fprintf() 打印 0 而不是完整的浮点值(转换问题?)

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:22 25 4
gpt4 key购买 nike

我在使用 Boulanger 和 Lazzarini 的“音频编程书籍”中的一些示例代码时遇到了问题。它应该为正弦波生成值,但当我运行它时,我只是得到 -0.0000000 和 0.0000000 的值,而不是 -1.0 和 +1.0 之间的预期值。我观察了它使用断点运行时的值,一切看起来都不错,但是当它运行时(在调试或 Release模式下)它给了我错误的值。

我在 MacOSX 10.6.8 上使用 Xcode 3.2.6。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#ifndef M_PI
#define M_PI (3.141592654)
#endif

int main(int argc, char** argv) {

int i, nsamps;
double samp;
double twopi = 2.0 * M_PI;
double angleincr;

nsamps = 50;
angleincr = twopi * nsamps;

for (i=0; i < nsamps; i++) {
samp = sin(angleincr*i);
fprintf(stdout, "%lf\n", samp);
}

fprintf(stderr, "done\n");
return 0;
}

谢谢! :)

最佳答案

samp = sin(angleincr*i);

在您的代码中,angleincr*i 始终是 2π 的倍数,因此结果确实为 0。

关于c - fprintf() 打印 0 而不是完整的浮点值(转换问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11456540/

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