用C格式化字符,对齐

时间:2017-02-03 02:20:04

标签: c printing formatting

您好我希望我的下一个输出(在这种情况下是字母)在前一个输出之后输出8个空格。这适用于第一个字符,但后面的printf语句不起作用。它是在第一个printf语句之后立即打印的,我试图让它成为8.问题是,当我使用'\ t'时,这对我的程序没有帮助,b / c我正在做一个挂钩拼图跳跃,我需要它准确。我试过了 - 和+但它没有用。所以我希望“A”在变量pa的右边打印8个空格。有谁知道在这里使用什么?

for ( row =1 ; row <= 5; row++ ){
        for ( column = 1; column <= row; column++ ) {
            if ( row == 1 ) {
                printf("%+8c", pa);
                printf("%-8");
                printf("A");
            }

1 个答案:

答案 0 :(得分:0)

如果要打印特定数量的空格,可以执行以下操作

printf("%*c", n, ' ');

其中n是某个整数,也就是您要打印的空格数。因此,在您的情况下,您可以在if语句中尝试以下内容,

printf("%c%*c%c%*c", pa, 8, ' ', 'A', 8, ' ');

首先打印pa,然后打印8个空格,然后打印A,再打印8个空格。