关于左右对齐概念的理解,可以类比生活中站队,向左对齐,向右对齐,在此就不做过多阐述。
那么先来看一下左对齐:
一、左对齐
方法①:
printf("%d\n",123456);
默认打印输出格式为左对齐。
结合实例加以理解:
有这样一道题,让你输出13579
那么你可以这样写
#include<stdio.h> int main() { printf("%d\n",13579); return 0; }
输出结果为:
13579
方法②:
printf("%-10d\n",123456)
在打印数字宽度前面加一个“-”。
如果有这样一道题,让你在不使用打印默认格式情况下,输出123456,左对齐且数字宽度为10,那你可以这样写:
#include<stdio.h> int main() { printf("%-10d",123456); return 0; }
输出结果为:
123456
二、右对齐
printf("%10d",123456);
在%和d之间加上数字宽度即可实现右对齐。
例如有道题,题目要求右对齐的方式输出123456,且数字宽度为10。那么你可以这样写:
#include<stdio.h> int main() { printf("%10d",123456); return 0; }
输出结果为:
关于%10d中10的解释:
数字宽度为10。
补充延伸:
如果要打印的位数小于某个设定的数字宽度,则需要在前补足空格;
比如上述这个:有道题,题目要求右对齐的方式输出123456,且数字宽度为10。
#include<stdio.h> int main() { printf("%10d",123456); return 0; }
输出结果为:
如果要打印的位数大于某个设定的数字宽度,则打印所有的数字,不会截断。
(如果是%d,设定数字宽度为10,那打印的数字最多为10位,如果是十一位,可能要考虑%lld来进行输出了。)
假如有这样一道题:让你输出的位数为6但是设定的数字宽度为5
#include<stdio.h> int main() { printf("%5d",123456); return 0; }
输出结果为:
123456
如果让你输出的位数为11但是设定的数字宽度为10
#include<stdio.h> int main() { printf("%10lld",12345678910); return 0; }
输出结果为:
12345678910
关于左右对齐问题就先说到这里,希望这篇文章能对你有所帮助!
作者:code_流苏
喜欢的话,点个赞吧!
欢迎评论交流,如有错误,还请指正!