C语言printf格式化输出如何对齐列?如图:
共两个图,其中一个图是对齐的,中间间隔\t\t,另一个是没对齐的,也就是说当某些字符串变长的时候,如何保证还是对齐(看上去输出的文本还是显示得下啊)?...
共两个图,其中一个图是对齐的,中间间隔\t\t,另一个是没对齐的,也就是说当某些字符串变长的时候,如何保证还是对齐(看上去输出的文本还是显示得下啊)?
展开
展开全部
你可以给定输出场宽,给定 左对齐 还是右对齐。
例如 %16s 右对齐; %-16s 左对齐; 场宽16:
#include <stdio.h>
int main()
{
int i,j;
char a[][4][16]={"A:956->956","A:000","A:000","A:000",
"B:154","B:JJJ","B:JJJ","B:JJJ"};
for (j=0;j<2;j++){
for (i=0;i<4;i++)printf("|%16s|", a[j][i]); printf("\n");
};
for (i=0;i<72;i++)printf("=");printf("\n");
for (j=0;j<2;j++){
for (i=0;i<4;i++)printf("|%-16s|", a[j][i]); printf("\n");
};
return 0;
}
例如 %16s 右对齐; %-16s 左对齐; 场宽16:
#include <stdio.h>
int main()
{
int i,j;
char a[][4][16]={"A:956->956","A:000","A:000","A:000",
"B:154","B:JJJ","B:JJJ","B:JJJ"};
for (j=0;j<2;j++){
for (i=0;i<4;i++)printf("|%16s|", a[j][i]); printf("\n");
};
for (i=0;i<72;i++)printf("=");printf("\n");
for (j=0;j<2;j++){
for (i=0;i<4;i++)printf("|%-16s|", a[j][i]); printf("\n");
};
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询