在C语言中我们都知道%2d这一经常在打印中出现的字符,那么具体的使用规则是什么呢?
我们用一道题来引入:
int main() {
int x = 102;
int y = 012;
int z = 2;
float m = 20.2;
printf("%2d\n%2d\n%2d\n%2d\n", x, y, z, m);//这里编译器会给出警告,但是我为了给大家演示效果,选择忽略。
return 0;
}
打印结果是
对于%2d,即代表输出2位整型数字,并且右对齐。
- 对于102这类3位整型数字,并不会产生缩减,而是会原封不动地打印出原本的数字。
- 对于012,这里是我挖的一个小坑,012其实是八进制数字,各位小白要尤其注意。
- 对于不足两位的数字,打印的时候会优先右对齐。
- 对于非整型数字20.2,则会产生完全不同的效果。这是由于在C语言中,整型和浮点数存储在内存的方式不同所造成的,以后有机会会另开新篇,详细讲解。
- 补充一点,如果想要左对齐,可以在%2d,%后加一个-,例如%-2d。
图像 小部件