我已经分配了对齐列,但是当我去编译它时,它的错位就是我所拥有的一个例子:
printf("column1\tcolumn2\cloumn3");
printf("%-3d%5d%-4d\n", c1,c2,c3);
etc.
这是我得到的一个样本:
Column1 Column2 Column3
|5 | 5|5 |
|4 | 4|4 |
|3 | 3|3 |
|2 | 2|2 |
我如何调整它们?它们也必须左对齐3,右对5,左对齐。
答案 0 :(得分:0)
它们也必须左对齐3,右对5,左对4
值3,5,4不足以与"Column1"
等列标题对齐。@Rich
通过打印宽度说明符为每列和printf()
格式使用公共宽度。
一旦3,5,4不足发现,就可以根据需要轻松调整。
int w[3] = {8,8,8}; // Adjust as desired
printf("|%*s|%*s|%*s|\n", w[0], "column1", w[1], "column2", w[2], "column3");
printf("|%-*d|%*d|%-*d|\n", w[0], c1, w[1], c2, w[2], c3);
样品
| column1| column2| column3|
|1 | 2|3 |