在 C 中使用缩进打印

Vin*_*uza 3 c algorithm printf indentation

哪种方式最适合在右侧排列所有输出?

示例:对于 2 的幂:

        2
        4
        8
       16
       32
       64
      128
      256
      512
     1024
     2048

     ...

134217728
Run Code Online (Sandbox Code Playgroud)

如果我的最后一个数字有 N 个数字,如何打印第一个数字(在这种情况下只有一个数字),左边有 (N - 1) 个空格?

Bar*_*mar 5

您可以提供计算字段宽度以printf()使用*. 因此,在计算出最大位数后,您可以执行以下操作:

printf("%*d\n", max_digits, value);
Run Code Online (Sandbox Code Playgroud)