首先 C语言的输出分两个部分控制输出格式
基本格式是这样 printf("%d,x)
百分号后面控制的是输出的格式与类型,这是最基本的格式
然后如果是这样
int x=10,y=-10,z=0;
printf("%10.5d",x);
前面不带+ - 默认右对齐,小数点前面的数字代表输出占用的格子数,然后后面的5代表输出的位数,如果不够则用前置0来补,d代表输出的类型。此处为int所以%d;
上面应该会输出xxxxx00010(注意,x表示前面有5个空格,后面有5个数字,一共占了10个字符);
而我们在前面加上负号的话,就会变成左对齐;
int x=10,y=-10,z=0;
printf("%-10.5d",x);
输出应该是00010xxxxx 后面有5个空格;
然后如果我们想输出的数带上+ - 号,那么我们就要在前面加上+号;
int x=10,y=-10,z=0;
printf("%+10.5d %+10.5d",x,y);
输出应该为xxxxx+00010 xxxxx-00010
左对齐的同时带上正负号
int x=10,y=-10,z=0;
printf("%+-10.5d %+-10.5d",x,y);
输出为 +00010xxxxx -00010xxxxx 同样后面会有5个空格;
我测试了一下正负号换个位置代码结果是一样的。所以上面的代码换成
printf("%-+10.5d %-+10.5d",x,y);
效果相同