In the code below, printf prints -0.00000. What is the problem? If it is double instead of long double, then it works fine.
#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);
}