c语言中%-s和%s补空格的区别

Python015

c语言中%-s和%s补空格的区别,第1张

-表示的是左对齐字符串,如输出字符串似乎:ndk8那么:

① %-10s 输出的:ndk8空空空空空空

② %+10s 输出的:空空空空空空ndk8

更多的可以关于printf的输出格式可以看我的帖子"C语言视频 VS2015:[10]printf":

http://jingyan.baidu.com/article/8ebacdf021253d49f65cd539.html

当然也可以按照帖子上的方式在msdn上进行查询哦,

希望对你有用,我是ndk吧吧主,有问题可以ndk吧留言,谢谢!

s格式符,用来输出一个字符串。有以下几种用法:

1、%s。

printf("%s","china")

输出字符串“china”。

2、%ms。

输出字符串占m列,如果字符串本身长度超过m,则可以超过m列,全数输出;如果字符串小于m,则左补空格

3、%-ms。

输出字符串占m列,如果字符串小于m,则字符串靠左,右左补空格。

4、%m.ns。输出占m列,但只取字符串中的左端n个字符,这n个字符输入输出在m列的右则,左则补空格。

5、-%m.ns。n个字符输出在m列的左侧,右侧补空格。

6.printf 怎么输出 % ??? 需要使用两个百分号,即%%就可以了

int main ()

{

printf("%3s,%7.2s,%.4s,%-5.3s\n","china","china","china","china")

}

china, ch,chin,chi

printf( )的格式字符:

① d格式符 用来输出十进制整数

%d 按整型数据的实际长度输出

%md 使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度

%ld 输出长整型数据

② o格式符 以八进制形式输出整数

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

④ u格式符 用来输出unsigned型数据,以十进制形式输出

⑤ c格式符 用来输出一个字符

⑥ s格式符 输出一个字符串

%s 输出实际长度字符串

%ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出

%-ms输出的串占m列,如果串长度小于m,右补空格,

%m.ns 输出占m列,但只取字符串中左端n个字符并靠右对齐

%-m.ns m、n含义同上,靠左对齐,如果n>m,则m自动取n值

⑦ f格式符 以小数形式输出实数

%f 整数部分全部输出,小数部分输出6位

%m.nf 输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格

%-m.nf 同上,右补空格

⑧ e格式符 以指数形式输出实数

%e 系统指定6位小数,5位指数(e+002 )

⑨ g格式符 输出实数,根据数值大小,自动选f格式或e格式