printf - 如何将实际变量 n 放入 printf("%nd",var) 而不是 C 中的任何整数?
问题描述
我在 'var' 递增的循环中使用 %nd。现在我希望'n'成为否。'var' 的位数,以便正确对齐
解决方案
printf
您可以在使用宽度说明符时将变量指定为宽度参数*
:
printf("%*d\n", digs, var);
这将使用digs
变量的值作为格式宽度。
一个简单而完整的例子:
#include <stdio.h>
int main()
{
for (int i = 1; i <= 10; ++i)
printf("%*d\n", i, i); // i is used both as the width specifier and the actual value printed!
}