为什么命令在跳线时不按顺序排列?

时间:2017-02-19 18:14:25

标签: c

我对我的代码有疑问,每当我编写它来编写它来运行数字时,我都不会在一条线上,总是下山但我使用的命令\n应该是能够在上面放一条新线,对吧?

我这样写:

#include <stdio.h>

int main(void) {
    printf("1 \n 2 \n 3 \n 4 \n 5 \n 6 \n 7 \n 8 \n 9 \n 10 \n");
    return 0;
}

1 个答案:

答案 0 :(得分:1)

在换行符\n之前和之后添加空格。这会导致第二行和后续行缩进一个空格。

如果您希望所有数字保持对齐,请使用此选项:

#include <stdio.h>

int main(void) {
    printf("1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n");
    return 0;
}

如果您希望它们正确对齐,那么这就是

#include <stdio.h>

int main(void) {
    printf(" 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n10\n");
    return 0;
}

请注意,您可以将字符串分解为较小的块以使意图更明显:

#include <stdio.h>

int main(void) {
    printf(" 1\n"
           " 2\n"
           " 3\n"
           " 4\n"
           " 5\n"
           " 6\n"
           " 7\n"
           " 8\n"
           " 9\n"
           "10\n");
    return 0;
}

您还可以使用printf的格式设置功能循环执行此操作:

#include <stdio.h>

int main(void) {
    for (int i = 1; i <= 10; i++) {
        /* left pad the number with spaces for a minimum width of 2 characters */
        printf("%2d\n", i);
    }
    return 0;
}