gpt4 book ai didi

c - 当尝试打印 double 时,printf 在 C 中打印奇怪的字符

转载 作者:行者123 更新时间:2023-11-30 21:10:38 25 4
gpt4 key购买 nike

我正在尝试使用两个代码中的许多 printf 语句来检查另一个代码,以确保它们在整个过程中的不同位置产生相同的数字。我在其中一个代码中遇到了问题,其中我的 printf 语句写出了奇怪的字符组合(例如 X=-Ód½u?ɱÛiR¿ 和 ÀrͲägS?x©b$ÜñK?)。

这是代码示例:

for (i=0;i<np;i++){
for (j=0;j<nv;j++){
aux1=RASEC*uu[j];
aux2=RASEC*vv[j];
if((i==456) && (j==5))printf("%g %g %g %g %g\n",uu[j],vv[j],RASEC,aux1,aux2);

}
}

任何人都可以帮助解释为什么会发生这种情况以及如何解决这个问题吗?

非常感谢!

普瑞娜

编辑:抱歉忘记添加我尝试打印的所有数字都是 double 。

最佳答案

使用 %lf 格式化指令来打印 double 。

此外,请小心匹配使用 printf 格式指令打印的值的类型。为了确保它们匹配,您可以将它们转换为所需的类型:

printf("%lf %lf %lf %lf %lf\n",
(double) uu[j],
(double) vv[j],
(double) RASEC,
(double) aux1,
(double) aux2);

关于c - 当尝试打印 double 时,printf 在 C 中打印奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900555/

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