对于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
——

sprintf的部分补充_数据


sprintf的部分补充_2d_02