对于C语言的输出格式("\n%2d,%2.1f,%2.11f)是什么意思

#include "stdio.h"
int main()
{

int a=1234;
float b=123.456;
double c=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,c);
}
输出结果为1234,123.5,12345.5

%md: m为指定输出数据的宽度 如果位数小于m,则左端补以空格,如果大于m,则按实际位数输出
显然a=1234的位数是4 大于%2d中指定的长度2 按实践位数输出 所以结果为1234
%m.nf格式:指定输出数据宽度为m位,其中小数占n位,如果数值长度小于m,则左端补空格,%-m.nf与上差不多,只是如果数值长度小于m,则右端补空格,大于的话就按原长度输出
%2.1f就是指长度2位,含一位小数位,由于原长度大于2,所以原样输出,但只能右一位小数,所以结果是123.4
%2.11f,就是含11位小数,显然长度不够,则右端补零 结果位12345.54321000000
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-30
%d是整数输出。%f是字符输出,%c是字符串输出。
%2.1f,是指输出实数一工占2列,其中有1位小数,如果实际长度小于2,则左补空格。
%2.11f同上。
第2个回答  2008-06-30
(\n%2d,%2.1f,%2.11f) 中\n是换行,%2d是输出的格式,意思是输出双精度该表达式的2位.