1、格式说明符
printf
中,使用 "%f"
来打印 double
类型的变量是正确的,但 "%f"
用于 double
类型。float
类型的参数在传递给 printf
时会自动转换为 double
(这个过程称为“提升”),因此打印 float
和 double
时使用的格式说明符是一样的,即 "%f"
。对于 double
,不需要特别指定 "%lf"
。尽管在 scanf
中,"%lf"
用于 double
类型,但在 printf
中,"%f"
已经适用于 double
类型。可以在格式字符串中指定输出的精度。
#include <stdio.h> int main() { double num = 123.456789; // 使用 %f 格式说明符打印 double 类型 printf("The number is: %f\n", num); // 默认精度输出 printf("The number is: %.2f\n", num); // 保留两位小数 printf("The number is: %.5f\n", num); // 保留五位小数 return 0; }
2、使用%lf输出double类型
printf
中,%f
和%lf
的行为是一样的。
#include <stdio.h> int main() { double value = 3.1415926535; printf("%lf\n", value); // 输出:3.141593 return 0; }
3、自动选择合适的格式
使用%g
输出,适用于自动选择合适的格式,如科学计数法或普通浮点数。
#include <stdio.h> int main() { double value = 3.1415926535; printf("%g\n", value); // 输出:3.14159 return 0; }
4、常用格式说明符
C语言中,printf
和scanf
函数使用格式说明符来格式化输入和输出。
格式说明符 | 说明 |
| 输出 |
| 输出 |
| 输出 |
| 输出 (小写字母 |
| 输出 int 类型的无符号十六进制整数 (大写字母 |
| 输出 |
| 输出 |
| 输出 (小写字母 |
| 输出 (大写字母 |
| 自动选择合适的格式输出 根据值的大小决定使用普通浮点数或科学计数法。 |