首页 > 解决方案 > 如何将实际变量 n 放入 printf("%nd",var) 而不是 C 中的任何整数?

问题描述

我在 'var' 递增的循环中使用 %nd。现在我希望'n'成为否。'var' 的位数,以便正确对齐

标签: printf

解决方案


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!
}

推荐阅读