c - 打印的值前面有不同数量的空格吗?

标签 c spaces

这可能吗?因此,如果我要打印一个值,我可以在实际输出前打印 3 个空格而不是 4 个空格?

最佳答案

printf 有一个动态指定最小字段宽度的 * 格式:

#include <stdio.h>
int main(int argc, char *argv[])
{
    int value = 5;
    const char *name = "LaDonna";
    double value2 = 200.55;
    const char *space = " ";
    for (int width = 0; width < 10; width++)
        printf("%*d %*.2f %*s\n",width,value,width,value2,width + 5,name);
    for (int width=1; width < 5; width++)
        printf("%*s%d\n",width,space,width);
    return 0;
}

输出:

5 200.55 LaDonna
5 200.55 LaDonna
 5 200.55 LaDonna
  5 200.55  LaDonna
   5 200.55   LaDonna
    5 200.55    LaDonna
     5 200.55     LaDonna
      5  200.55      LaDonna
       5   200.55       LaDonna
        5    200.55        LaDonna
 1
  2
   3
    4

关于c - 打印的值前面有不同数量的空格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450853/

相关文章:

c - 与 OpenMP 并行化

c - rgb led arduino 的平滑动画

c - K&R答案1-12(使用函数减少代码行数)

c - memcpy() 期间出现段错误

linux - Octave strcat 忽略添加的空格

postgresql - 在 postgresql 中,如何在 char 中保留空格

visual-studio - 使用制表符作为空格时删除制表符

cocoa - NSWindow 和 NSWindowCollectionBehaviorStationary 在仪表板上可见。这是一个错误吗?

c - 在c中声明一个未知大小的全局二维数组

c++ - Tesseract 虚假空间识别