我想知道您是否可以使用变量来指定字段宽度,例如:
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");
我认为编译器不会读取当前格式,但也许还有其他方法。
答案 0 :(得分:0)
这是关于C的问题吗?我看到了q标签,但我不确定,因为你谈论编译器......
无论如何,在C中它是用*
完成的:
*
宽度未在格式字符串中指定,而是作为必须格式化的参数前面的附加整数值参数。
.*
未在格式字符串中指定精度,但作为必须格式化的参数前面的附加整数值参数。
printf ("Width trick: %*d \n", 5, 10);
Width trick: 10