首先在C语言中,%d指按实际长度,以带符号十进制整数形式进行输出,这在C语言中十分常见。而其他形式诸如如%2d会引起初学者一些小疑问。
1.%2d,代表长度为2,右对齐,不够左边补空格,多了以实际长度输出,如
当实际位数多了:
(上图b还是以2位形式打印)
注意:无论什么表示方法,我们定义的整数的位数大于我们想输出的数字的位数,输出时仍然是自己定义的数字
同理: %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
2.%02d表示长度为2,右对齐,不一样的是,当我们输出的数字位数不够时,左边补0,如:
同理%0md一样的道理
3.%-2d,结果十进制,长度为2,左对齐,不够补空格,多了以实际长度输出
补充:其实小数也有类似的道理,这里就不过多阐述
通过以上的例子我们可以解决一个大家在刚学习编程时就能遇到的一个问题,那就是
格式化打印99乘法表
很多同学刚上来打印会出现的问题是,打印出的数据并没有对齐
于是我们可以将最后的%d改成%2d或者%-2d,就可以完成对齐操作