C语言基本问题,%5d 是什么意思?

为什么加了5就要先输3个空格,为什么呢??... 为什么加了5就要先输3个空格,为什么呢?? 展开
 我来答
幻翼高达Zero
2019-05-22 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.1万
展开全部

C语言中,“%5d”是的意思是以整形来格式化参数,并且当整数字符数少于5个情况下,多格式化一定数量空格来填充,以使得空格和整数所用字符数的总和达到至少5个。

C语言中,“%5d”一般用于printf函数和sprintf函数。它们格式化字符串时,可以指定串的格式,在格式串内部使用一些以“%”开头的格式说明符来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符串中。同时,可以选择宽度,不足的左边补空格:例如“sprintf(s, "%4d%4d", 123, 4567);” 会产生字符串" 1234567"。

扩展资料:

C语言中,常见转换字符:

1、%%:印出百分比符号,不转换。

2、%c:字符输出到缓冲区,不转换。

3、%d:整数转成十进位

4、%f:倍精确度数字转成浮点数

5、%o:整数转成八进位。

6、%s:字符串输出到缓冲区,不转换。

7、%x:整数转成小写十六进位。

8、%X:整数转成大写十六进位。

参考资料来源:百度百科-sprintf

床前明月儿
高能答主

2019-09-27 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171948

向TA提问 私信TA
展开全部

%5d 意思就是输出5字段宽度的十进制整数。

C语言中对于不同类型的数据用不同的格式字符。d格式字符。用来输出十进制整数。%md,m为指定的输出字段的宽度。%ld,输出长整型数据。

o格式符,以八进制整型式输出整数。

x格式符,以十六进制数形式输出整数。


扩展资料

u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出。

c格式符,用来输出一个字符。

s格式符,用来输出一个字符串

f格式符,用来输出实数(包括单双精度),以小数形式输出。

e格式符,以指数形式输出实数。

g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出是占宽度较小的一种),且不输出无意义的零。

p格式符,用于变量地址的输出。

 %[scanfset]:scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束。

另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。

参考资料来源:百度百科-格式字符

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路尧家的顾小言
2019-09-22 · TA获得超过9397个赞
知道答主
回答量:336
采纳率:100%
帮助的人:5万
展开全部

%5d是格式控制字符串,表示输出占5个字符的十进制整数,右对齐,不够用空格补齐。

5是输出最小宽度,用于控制显示数值的宽度,是一个可选的指定最小值字段宽度的十进制数字字符串。如果转换值字符少于字段宽度,该字段将从左到右按指定的字段宽度填充。如果指定了左边调整选项,字段将在右边填充。如果转换结果宽于字段宽度,将扩展该字段以包含转换后的结果,不会发生截断。

5前面是-则表示左对齐,无符号则默认为+右对齐。

三种格式输出对比:

扩展资料:

printf("<格式化字符串>", <参量表>);

格式化字符串包含三种对象,分别为:

1、字符串常量;

2、格式控制字符串;

3、转义字符。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

参考资料来源:百度百科-printf

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
推荐于2017-09-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6420万
展开全部
请参考http://zhidao.baidu.com/question/402318865.html
其中有详细说明
%5d 表示按10进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超出5个字符,按实际数据长度输出。如:
printf("%5d", 100 ); //输出 100(前有两个空格)
printf("%5d", 123456 ); //输出123456
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
┞思恋变成爱┱b347aca
2011-01-12 · TA获得超过175个赞
知道答主
回答量:39
采纳率:0%
帮助的人:39.4万
展开全部
输出带符号的整数,需要占用5个字符位置, 不够则空格补齐. %5d是右对齐,%-5d是左对齐.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式