一个printf()函数输出的简单小技巧

C语言中使用printf()函数进行打印时,如果一列中数字的位数不同,打印结果就会参差不齐,比如

#include
int main(void){
    printf("%d %d %d\n",10,231,2289);
    printf("%d %d %d\n",1,21,29);
    printf("%d %d %d\n",1,3,8);	
}

输出结果

使用printf("%d %d %d\n",1,3,8);进行输出,格式转换符之间只是使用1个空格进行分隔,如果输出的单个数值较大,这样的结果就不太规整。那有什么办法可以让输出整齐美观?我们可以使用足够大的固定字段宽度使其输出整齐。参看如下示例

#include
int main(void){
    printf("%d %10d %10d\n",10,231,2289);
    printf("%d %10d %10d\n",1,21,29);
    printf("%d %10d %10d\n",1,3,8);	
}

输出结果

printf("%d %10d %10d\n",1,21,29);在格式转换说明之间使用%10d,即在两个转换说明的中间插入一个空白的字符,可以保证即使一个字符较长,下一个数字也可以紧跟着一起输出。

原文链接:,转发请注明来源!