include
main()
{float f=123.456;
double d1,d2;
d1=111111.11111111;
d2=222222.22222222;
printf("f=%f,f=%12f,f=%12.2f,f=%-12.2f,f=%.0f,f=%.2f\n",f,f,f,f,f,f);
printf("d1+d2=%f\n",d1+d2);}
分析:
f=%f是将小数保留6位,所以输出f=123.456001(因为f是float型,由于精度的关系,最后的小数位出现了1,后面同理)。
f=%12f是共输出12列,小数位还是是默认为6位,也就是6位小数,加上一个小数点,再加上整数位是3位,一共是10位,所以在左边加上二个空格,也就是输出f=□□123.456001。
f=%12.2f表示一共输出12位,其中小数位是二位(4舍5入),加上一个小数点,再加上整数位是3位,一共是6位,所以在左边加上六个空格,也就是输出f=□□□□□□123.46。
f=%-12.2f与前面一样,只是将空格放置在右边,也就是输出f=123.46□□□□□□。
f=%.0f表示整数位原样输出,小数位是0位,也就是输出f=123。
f=%.2f表示整数位原样输出,小数位是2位(4舍5入),也就是输出f=123.46。