%d 有符号10进制整数 %ld 长整型 %hd短整型
%md,m指定的是输出字段的宽度,默认左补空格, 如果数据的位数小于m,则左端补以空格,若大于m,则
  按实际位数输出,如:
  printf("%4d,%4d",a,b)
  若a=123,d=12345,则输出的结果为:
  空格123,12345

-%md 指定的是输出字段的宽度,右补空格, 如果数据的位数小于m,则右端补以空格,若大于m,则
  按实际位数输出,

另外, 若想在输出值前加一些0, 就应在场宽项前加个0。 例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度 为4位。

%hu 无符号短整形 %u无符号整形 %lu无符号长整形
%i 有符号10进制整数 (%i和%d 没有区别,%i 是老式写法,都是整型格式。)

%o 无符号8进制整数
%u 无符号10进制整数
%x 无符号的16进制数字,并以小写abcdef表示
%X 无符号的16进制数字,并以大写ABCDEF表示
%f:输入输出为浮点型 %lf双精度浮点型 %.2f表示小数点后面2位小数
%E/e 用科学表示格式的浮点数 //123.76567 保留小数点后6位, 四舍五入 1.237657e+002
%g 使用%f和%e总的位数最短的形式来表示浮点数(不输出小数点后无意义的0 如 0.123000 用%g格式化后输出 0.123) G 同g格式,但表示为指数

  //12345678.7654321 保留6位数字,四舍五入 1.23457e+007

%c 输入输出为单个字符
%s 输入输出为字符串

%.*s 请转到以下链接:

printf--动态指定输出格式长度

05-11 15:20