#include <stdio.h>
int main() {
int a = 3;
float b = 6.412355;
printf("%.*f\n",a,b);
return 0;
}
为什么输出;
6.412
。*这里有什么影响?
答案 0 :(得分:2)
.
表示下一个字符表示要使用的精度。 *
表示从参数列表中读取值;在您的情况下,它将显示a
。值为3,因此下一个参数将打印到3个小数位。
答案 1 :(得分:2)
在printf
函数中,此问题的格式%[flags][width][.precision][length]specifier
为.precision
,它有两个选项编号或*
。
当*
时,表示未在格式字符串中指定精度,而是作为必须格式化的参数之前的附加整数值参数。
答案 2 :(得分:1)
#include <stdio.h>
int main() {
int a = 3;
float b = 6.412355;
printf("%.*f\n",a,b);
return 0;
}
它将a
的值替换为*
,意味着精确度。