lilin75 发表于 2012-4-17 20:33:35

c语言域宽问题

#include<stdio.h>
void main()
{
int i=5;
float f=32.34578987;
printf("i=%3df=%1.5f\n",i,f);
printf("END.\n");
system("pause");
}
这是我的c语言程序,%1.5f表示域宽和精确度,我在练习时发现精确度大于域宽,也可以执行,那么请问域宽具体指的是什么的宽度,为什么会出现这种情况

royz 发表于 2012-4-18 11:57:51

可以参考如下两个概念;呵呵,你觉得研究这个有意义吗?还是把精力放在应该研究的方面:)

1输出最小宽度:
      用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
2精度:
      精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

nmgzhouwei 发表于 2012-8-30 00:30:09

哦 明白了!
页: [1]
查看完整版本: c语言域宽问题