C语言 格式输出 printf("y=%-8ld\n",y); 与printf("y=%-08ld\n",y); printf(&qu

如题所述

-08"
"+8"
"08"
都代表输出结果占8个字符的位置。
“-”表示左对齐输出,第1,2个的输出格式中有“-”所以是
左对齐输出.h"
void
main()
{
int
y=9;
printf(":
y=9
y=9
y=00000009
y=
+9
为什么呢?
因为
"stdio;n",y);
printf("y=%-08ld\y=%08ld\,左对齐输出就是先输出数字的值再填空格使其满足
占位字符数,若无“-”默认是右对齐输出;n",所以第1,2个输出的结果中先输出数值9,右对齐输出,y);
printf("y=%+8ld\n"y=%-8ld\
}
输出结果为;
上面运行结果中如程序:
#include
",右对齐输出,y);
printf(",由于
"08"所以左边填充0.
第4个输出格式中无“-”;,y),然后在数值9的
右边补上7个空格使其满足占位8字符。
第3个输出格式中无“-”,同属要求输出“+"n"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-13
"+"代表输出为右对齐(也是默认的);“-”代表输出为左对齐;“8”代表输出占8列宽度;“0”为填充字符,也就是说要输出的东西不够指定的列宽(如题中的8列宽度),就用指定的字符(如题中的“0”)填充到指定的列宽。