在下面的代码中,printf输出-0.00000。问题是什么?如果它是双倍而不是长双倍,那么它工作正常。C中的长双数据类型问题
#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);
}