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

C 如何使用变量指定字段宽度?,c,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"); 我不认为编译器会读取当前的格式,但也许还有另一种方法。这个问题是关于C的吗?我看到了q标签,但我不确定,正如你所说的编译器 无论如何,在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");

我不认为编译器会读取当前的格式,但也许还有另一种方法。

这个问题是关于C的吗?我看到了q标签,但我不确定,正如你所说的编译器

无论如何,在C语言中,它是通过
*
完成的:

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

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


您肯定不是指
Q
javascript库,而是指Q语言吗?请正确标记您的问题。@Bergi这不是Q语言。标记为“结束”是不清楚的,因为没有显示这是什么编程语言。(这不是LOL代码。)
printf ("Width trick: %*d \n", 5, 10);
Width trick:    10