这是我的代码:
charactersPrinted=printf("\t\t\t--- Long double ---\nValore: %1.6f",x);
printf("\nBytes allocated: %d\n",sizeof(long double));
printf("Minimum value: %g\nMaximum value: %lg\n",LDBL_MIN,LDBL_MAX);
printf("(Characters printed= %d)\n\n\n",charactersPrinted);
答案 0 :(得分:1)
sizeof
是运算符,而不是函数。
%1.6f
没有多大意义:最小字段宽度1是多余的,因为%f
将始终产生至少一个字符输出。精度为6是多余的,因为无论如何%f
都是默认精度。整个内容可以写成%f
。
%f
使用double
,而不是long double
(应为%Lf
)。
%d
使用int
,而不是size_t
(应为%zu
)。
%g
使用double
,而不是long double
(应为%Lg
)。
%lg
使用double
,而不是long double
(应为%Lg
)。