#include <stdio.h>

int main(void)
{
 unsigned width ,precision;
 int number = 256;
 double weight = 242.5;
 
 printf ("what field width?\n");
 scanf ("%d",&width);
 printf ("the number is %*d :\n",width,number);
 printf ("now enther a width and a precision :\n");
 scanf ("%d %d",&width,&precision);
 printf ("weight = %*.*f\n",width,precision,weight);
 return 0;
} 变量width提供字段宽度,number是打印的数字。

%*d中 *代表字符宽度 实际输出应该有两个值 例如%*d,6代表字符宽度,222代表数字   

更多推荐

C语言学习之printf中怎么使用可变宽度的输出字段