易百教程

整数输出:宽度,对齐和填充

在C语言中,如何整数以指定宽度,对齐和填充格式输出?

示例代码

#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>

int main(void)
{
    int k = 678;

    // 将标签显示为标题,接着显示值
    printf_s("%%d   %%o   %%x   %%X
");
    printf_s("%d  %o  %x  %X
", k, k, k, k);
    printf_s("
|%%8d       |%%-8d      |%%+8d      |%%08d      |%%-+8d     |
");
    printf_s("|%8d  |%-8d  |%+8d  |%08d  |%-+8d  |
", k, k, k, k, k);
    system("pause");
    return 0;
}

执行上面示例代码,得到以下结果:

%d   %o   %x   %X
678  1246  2a6  2A6

|%8d       |%-8d      |%+8d      |%08d      |%-+8d     |
|     678  |678       |    +678  |00000678  |+678      |

参考以下代码:

printf_s("%d  %o  %x  %X
", k, k, k, k );

输出十进制,八进制和两个十六进制变量值678,具有默认宽度规范。