printf问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:50:41
main()
{long y=-43456;
printf("y=%-8ld\n",y);/*这表示左对齐,右补空格为-43456□□吗?*/
printf("y=%-08ld\n",y);/*其中的08,0是什么意思*/
printf("y=%08ld\n",y);/*其中的08,0是什么意思*/
printf("y=%+8ld\n",y);/*其中的+什么意思*/
}
输出的结果是什么?

输出是:
y=-43456
y=-43456
y=-0043456
y= -43456
‘-’代表左对齐,8个字符,那么就补2个空格
‘0’表示如果不是左对齐,并且没有写满,那么空格处补0
‘+’是右对齐

运行下面的程序
#include <stdio.h>
main()
{long y=-43456;
printf("y=%-8ld<--\n",y);
printf("y=%-08ld<--\n",y);
printf("y=%08ld<--\n",y);
printf("y=%+8ld<--\n",y);
}
输出
y=-43456 <--
y=-43456 <--
y=-0043456<--
y= -43456<--
8代表输出数字所占的宽度
0代表如果右对齐时如果不足8位则补0
-号代表左对齐