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

作者&投稿:错施 (若有异议请与网页底部的电邮联系)

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



%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 中的字符输入就结束。

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



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

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

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

三种格式输出对比:

扩展资料:

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

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

1、字符串常量;

2、格式控制字符串;

3、转义字符。

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

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



请参考http://zhidao.baidu.com/question/402318865.html
其中有详细说明
%5d 表示按10进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超出5个字符,按实际数据长度输出。如:
printf("%5d", 100 ); //输出 100(前有两个空格)
printf("%5d", 123456 ); //输出123456

输出带符号的整数,需要占用5个字符位置, 不够则空格补齐. %5d是右对齐,%-5d是左对齐.

C语言中%-5d是什么意思~

%-md:输出格式为整形,长度为m(输出最小长度),左对齐;可用m表示你的3,4,5,121;
%m.nf:输出格式为float型,即带小数点的小数,m为总长度,n为小数长度。
“\”是转义字符,有两种格式“\ddd和\xhh”
\ddd:ddd表示三位8进制数;
\xhh:表示两位16进制数。
具体八进制十六进制对应的符号可对照谭浩强的C最后的ASCII表查看

一般如果是%md的话,表示得次数字占据m位,不足的话,左边补上空格

但是,如果是%-md的话,表示不足右补空格