如何用变量指定字段宽度?

时间:2014-03-02 19:24:55

标签: c

我想知道您是否可以使用变量来指定字段宽度,例如:

float g = 123.4567;
int x = 3;
int y = 4;
printf("%(%d).(%d)f", x,y,g);
I want my output to be: "123.4567", basically the same as

printf("%3.4f");

我认为编译器不会读取当前格式,但也许还有其他方法。

1 个答案:

答案 0 :(得分:0)

这是关于C的问题吗?我看到了q标签,但我不确定,因为你谈论编译器......

无论如何,在C中它是用*完成的:

  

*宽度未在格式字符串中指定,而是作为必须格式化的参数前面的附加整数值参数。

     

.*未在格式字符串中指定精度,但作为必须格式化的参数前面的附加整数值参数。

printf ("Width trick: %*d \n", 5, 10);
Width trick:    10

http://www.cplusplus.com/reference/cstdio/printf/