gpt4 book ai didi

c - C中的长双数据类型问题

转载 作者:行者123 更新时间:2023-12-02 05:29:33 26 4
gpt4 key购买 nike

在下面的代码中,printf 打印 -0.00000。问题是什么?如果它是 double 而不是 long double,那么它工作正常。

#include<stdio.h>
long double abs1(long double x) {
if (x<0.0)
return -1.0*x;
else
return x;
}

main() {
long double z=abs1(4.1);
printf("%llf\n",z);
}

最佳答案

正确的print format对于长 double 是 %Lf。打开编译器的警告会立即指出错误:

$ gcc -Wall b.c -o bb.c:9: warning: return type defaults to `int'b.c: In function `main':b.c:11: warning: use of `ll' length modifier with `f' type characterb.c:11: warning: use of `ll' length modifier with `f' type characterb.c:12: warning: control reaches end of non-void function

关于c - C中的长双数据类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1472888/

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