1.左对齐 方式1 printf("%d\n",101010); 默认打印格式为左对齐; 方式2 printf("%-10d\n",101010); 在打印数字宽度前面加一个“-”。 说明:数字宽度为10,如果要打印的位数小于10,则在后面补足空格;如果要打印的位数大于10,则打印所有的数字,不会截断。 2.右对齐 printf("%10d",101010); 在%和d之间加...
{printf("%-3d", a[x][y]);// - 表示左对齐,默认是右对齐}printf("\n"); }return0; } 打印结果: 如果将负号去掉,则是下面的结果:
在打印数字宽度前面加一个“-”。 如果有这样一道题,让你在不使用打印默认格式情况下,输出123456,左对齐且数字宽度为10,那你可以这样写: #include<stdio.h>int main(){printf("%-10d",123456);return 0;} 输出结果为: 123456 二、右对齐 printf("%10d",123456); 在%和d之间加上数字宽度即可实现右对齐。
"%-md" :左对齐,若m比实际少时,按实际输出。 1. "%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n。 1. int main() { char buf[] = "CHINA"; printf("%7.2s", buf); return 0; } 1. 2. 3. 4. 5. 6. "%m.nf":输出浮点数,m为输出宽度,n为小数点右边数位 ...
当然,可以看到,图中不满两位数的数字都是默认向右对齐,空出左边的一格的,如果我们想要输出的数字都统一向左对齐,也很简单,借用printf()函数中的”-“标记符即可,它的作用就是让待打印项向左对齐,因此输出语句改为: printf("%d*%d=%-2d ",i,n,i*n); ...
输出的值默认是右对齐,即输出内容前面会有空格;如果希望改成左对齐,在输出内容后面添加空格,可以在占位符的 % 的后面插入⼀个 - 号 (如果%后面又有0又有-号,那么printf会忽略0,并使用空格作为填充字符,左对齐输出内容后面仍然是空格而不是0。 最好避免在printf的格式说明符中同时使用0和 -号 修饰符) ...
代码3:%-8s,"-"表示字符串"左对齐" printf("%-8s",utmp_buf->ut_user);printf(" ");printf("%d",utmp_buf->ut_tv.tv_sec);printf(" ");printf("\n"); 结果3 reboot 1617929016 runlevel 1617929083 yu 1617929251 --- 代码4:%-8.6s,".6"表示字符串"显示精度为6个字符,多于6个字符...
width 是一个数值,用于指定最小字段的宽度。转换后的参数输出宽度至少要达到这个数值。如果参数的字符数小于该数值,则在参数左边(如果 flags 设置为 -,要求左对齐的话则在右边)填充一些字符。填充字符通常为空格,但是如果 flags 设置为 0,则填充字符为数字 0。
intmain(){printf("%d\n",12345);//正常打印printf("%10d\n",12345);//右对齐.位数不够,左边自动补空格printf("%-10d,%c\n",12345,'A');//左对齐.位数不够,右边自动补空格printf("%010d\n",12345);//右对齐.位数不够,左边自动补0//sprintf用法一样.return0;}输出结果:123451234512345,A000001234...
7、以控制输出左对齐。( V, a! yb) y4 V# e(3)%lf 表示输出double浮点数。: ? w& $ w4 D8 W3 b7 Q, 说明3:对于%s,%e同样道理( 2 bA+ 3 i* U* i7 b0 g%-10s 表示输出10个字符左对齐,没有说明则右对齐。 C4 W9 O l: %8s 表示输出8个字符的字符串,不够8个字符右对齐。8 l z* ...