c语言看不懂了啊。

哪位大佬解释下百分号后面的数字是干嘛的,为什么多了一个负号空格就到后面了?最好能解释下这是属于哪里的知识点

这是在演示printf函数的用法。
按此例子,说明一下:
%8d 表示输出8个十进制有符号字符, 不够8个右对齐。
%-8d 表示输出8个十进制有符号字符, 不够8个左对齐。
%3d 表示输出3个十进制有符号字符, 不够3个右对齐。

%8.5d 表示输出8个十进制有符号字符,不够8个右对齐。 .5表示精度为5位
%-8.5d 表示输出8个十进制有符号字符,不够8个左对齐。.5表示精度为5位
%3.5d 表示输出3个十进制有符号字符,不够3个右对齐。 .5表示精度为5位

%o 无符号8进制整数(不输出前缀0)
%X 无符号16进制整数,X对应的是大写ABCDEF(不输出前缀0x)
%u 无符号10进制整数

%#o 无符号8进制整数(输出前缀0)
%#X 无符号16进制整数,X对应的是大写ABCDEF(输出前缀0x)

%x  无符号16进制整数,x对应的是小写abcdef(不输出前缀0x)
%LX 无符号16进制整数,X对应的是大写ABCDEF(不输出前缀0x)
    L表示,长整数(long int) 即八字节数据

%-#12.8x  -表示左对齐;#表示增加前缀0x;12表示字符串为12,不足补空格;.8表示精度为8位; x表示无符号16进制整数,x对应的是小写abcdef
%#12.8x   #表示增加前缀0x;12表示字符串为12,不足补空格;.8表示精度为8位; x表示无符号16进制整数,x对应的是小写abcdef

具体的用法,请参考百度百科printf。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-07
%是占位符
%8表示输出占8位,默认左对齐。负号表示右对齐。
%d表示整型,默认十进制表示。
%o表示八进制表示,中间加#表示输出的时候带进制前缀。
%3.2f表示总共占3位包括小数点,小数点后占2位。若浮点数位数超过3位了,则按原来格式输出。
第2个回答  2017-10-07
请好好看看书
%8d 了解什么意思 你就明白了
相似回答