c - Printf 格式化整数以显示最大和最小 2 位数字

标签 c format printf

在我的一项作业中,需要一行来printf“我的 friend 是 __ 岁”,其中空格必须包含不少于 2 位整数,但无论如何我尝试过,没有任何效果...

这是我的代码:

int age = 22332;

printf("My friend is %2.2i years old.",age);

然而输出最终是

My friend is 22332 years old.

我做错了什么?

最佳答案

第一个st“2”宽度。它指示“%2.2i”打印最少 2个字符1,并根据需要填充空格.
第二个nd “2”精度。它指示“%2.2i”打印至少2位数字

要“...至少 2 位数字”,请使用“%.2i”

要“最多 ... 2 位数字”,请确保该值在 [-99...99] 范围内。例如,使用age % 100

printf("My friend is %.2i years old.",age%100);

99岁以上的人Jeanne Calment , Methuselah , Imhotep将打印截断的年份。 @Jonathan Leffler


1最少 2 个字符”包含潜在的符号字符。

关于c - Printf 格式化整数以显示最大和最小 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897509/

相关文章:

c - 我想确保我的程序是正确的,这是 C 编程

c - 打印负整数会产生错误的结果

c - 如何使用 VC++ 将闪存驱动器中的每个文件复制到文件夹中并格式化闪存驱动器?

c++ - 显示描述文本 (WINAPI)

c - printf 不产生输入值

c++ - 如果我在代码的 printf 部分中使用 %s 而不是 %c,代码背后的解释

php - 调整图像大小和图像格式

python - 在 python 中格式化时间戳

python - 以一致或固定的精度打印数字

c - 理解 printf 语句中的指针逻辑