当我用这段代码编译一个程序时:
int main()
{
float a;
scanf("%f", &a);
printf("%.1f\n", a); //Here
return 0;
}
与其他没有区别:
int main()
{
float a;
scanf("%f", &a);
printf("%.01f\n", a); //Here
return 0;
}
谁能告诉我为什么?
当我用这段代码编译一个程序时:
int main()
{
float a;
scanf("%f", &a);
printf("%.1f\n", a); //Here
return 0;
}
与其他没有区别:
int main()
{
float a;
scanf("%f", &a);
printf("%.01f\n", a); //Here
return 0;
}
谁能告诉我为什么?
句点后面的数字是指定浮点值小数点后位数的精度。前导零没有任何意义。
句点前的数字是指定最小字段宽度的数字。前导零会将填充字符从空格更改为 0。
小数点后的数字指定精度 - 将写入的最小位数。.1 和 .01 都表示至少输入 1 个数字,如果少于 1 个数字,则用零填充结果。Plain%f
相当于%.6f
, 即小数点后 6 位。
第一个程序的输出将是例如。对于两个打印命令,a=100 将是 100.000000(默认情况下,双精度为 6)仅 100.0。其中第二个程序将具有值:100.000000(默认为双精度)100.0