C语言入门——printf(““)左对齐与右对齐问题

举报
Code_流苏 发表于 2022/04/17 12:38:44 2022/04/17
【摘要】 C语言入门——printf(““)左对齐与右对齐问题

关于左右对齐概念的理解,可以类比生活中站队,向左对齐,向右对齐,在此就不做过多阐述。

那么先来看一下左对齐:

一、左对齐

方法①:

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_流苏
如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心!
欢迎评论交流,如有错误,还请指正!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。