printf函数中的f转换字符的不懂之处
兄弟们先看看小甲鱼给的例子:#include <stdio.h>
int main()
{
float c = 3.14;
double d = 3.141592653;
printf("圆周率是:%.2f\n", c);
printf("精确到小数点后9位的圆周率是:%11.9f\n", d);
return 0;
}
就是这个例子,我中间省略了一点。
我的问题是在使用转换字符f的时候输出时要用%f,例子中有两个 ,一个是%.2f,一个是%11.9f,这两个有什么不同,怎么区分吗?还是说给douuble定义了以后f前要加11.几,那个几就是小数点后几位。 本帖最后由 昨非 于 2020-10-16 20:29 编辑
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
关于printf()格式输出,详情请参考:
https://blog.csdn.net/whatday/article/details/8675549
满意的话还请设个最佳 兄弟,太专业了,没看懂,刚刚看了两天视频还没有完全理解。 dengjiaxi 发表于 2020-10-16 20:29
兄弟,太专业了,没看懂,刚刚看了两天视频还没有完全理解。
意思就是m是小数点前后的总位数,n是小数点后的位数 就比如:我打印3.141592653的时候,设置为
printf("精确到小数点后9位的圆周率是:%5.3f\n", d);
也就是总共五位数,三位小数
输出结果就是
精确到小数点后9位的圆周率是:3.142
可以看到,3前面有个空格,加上小数点后面的三位,一共五位 OK谢谢老哥了,太感谢了
页:
[1]