我已经搜索了一下,但我没有得到一个特别直接的答案.在C(我猜C++)中,你如何确定使用时%后面的内容printf
?例如:
double radius = 1.0; double area = 0.0; area = calculateArea( radius ); printf( "%10.1f %10.2\n", radius, area );
我直接从一本关于C语言的书中看到了这个例子.这对我来说根本没有意义.你在哪里拿出10.1f
和10.2f
?有人可以解释一下吗?
http://en.wikipedia.org/wiki/Printf#printf_format_placeholders是维基百科对printf格式占位符的参考.http://www.cplusplus.com/reference/clibrary/cstdio/printf.html也很有帮助
基本上是一个简单的形式,它是%[宽度].[精度] [类型].宽度允许您确保正在打印的变量至少是一定长度(对表等有用).精度允许您指定打印数字的精度(例如小数位等),并通知C/C++您给出的变量是什么(字符,整数,双精度等).
希望这可以帮助
更新:
要澄清使用您的示例:
printf( "%10.1f %10.2\n", radius, area );
%10.1f(指第一个参数:radius)表示使其长10个字符(即带空格的pad),并将其打印为带有一个小数位的浮点数.
%10.2(指第二个参数:area)表示使其长10个字符(如上所示)并打印两个小数位.
man 3 printf
在Linux系统上将为您提供所需的所有信息.您也可以在线查找这些手册页,例如http://linux.die.net/man/3/printf