在C语言中 printf("a=%7.2f\n",a)中7.2f是啥子意思

在C语言中 printf("a=%7.2f\n",a)中7.2f是啥子意思

printf()函数用来在屏幕上输出字符串,括号里用双引号括起来的是要输出的字符串
"a=%7.2f\n",a意思是输出 “a=”+变量a的值,\n是输出后换行的意思,%7.2f里f的意思是输出a的类型是float类型,7.2即输出左对齐,'7'位数,'.2'两位小数. 答案补充 7.2是说总共7位,小数点后两位,如果不满7位就要补上空格。
形如"a=%d,b=%f",a,b是指按照%d,%f的顺序和格式,用a,b的值来替换百分号的地方
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-26
7位有效数字(其实是占位符号)里面包括后面的两位小数和小数点。
如果超出7位,则按实际的输出。例子如下:

#include <stdio.h>

void main()
{

double a=120005566.5468,b=479.1235;

printf("%7.2lf,%7.2lf\n",a,b);
printf("%.2lf,%.2lf\n",a,b);
getchar();
}

输出:
120005566.55, 479.12
120005566.55,479.12
第2个回答  2013-06-26
输出的a,数值有7位包括2个小数点。如" 5.00",注意前面的有空格一定要占够7位 答案补充 479.1235,保留小数点2位是479.12,位数不够前面加空格;而120005566.66小数点前就超出了7位,所以小数点前不变,小数点后保留2位小数;
%.2lf是说对整个位数不要求就是不用要在前面加空格了,只要求保留小数点2位,对比一下两行两数之间的空格一定不一样。
第3个回答  2013-06-26
输出7位,小数点后占两位
小数点也算一位
不够前面补空格
第4个回答  2017-09-21
我这里 gcc 5.4.0 是右对齐的。
相似回答