黑马程序员技术交流社区

标题: printf函数输出中%10d,%-3d,对齐原理是什么 [打印本页]

作者: 77媛儿    时间: 2014-3-18 08:11
标题: printf函数输出中%10d,%-3d,对齐原理是什么
printf函数输出中%10d,%-3d,对齐原理是什么
作者: bubuatt    时间: 2014-3-18 08:27
%10d--可以指定宽度,不足的左边补空格
%-3d--左对齐
作者: keycola    时间: 2014-3-18 12:44
printf函数输出中%10d,%-3d,对齐原理是什么,

LZ 可以去查阅include.h 头文件中的函数,

如:
#include <stdio.h>

int main()
{
        int a = 10;
        printf("###%15d***\n",a);     // 左边扑空格,当输出的位数不足15位时候 ,也就是 3个#号,加上10,2位,一共5位,还要补10位就是空格
        printf("###%-15d***\n", a);  // 右边补空格,当输出的位数不足15位时候 ,也就是 3个*号,加上10,2位,一共5位,还要补10位就是空格
}

输出:

###             10***
###10             ***



作者: 牧之    时间: 2014-3-18 13:47
用printf输出默认是右对齐,%后面加减号就是左对齐
作者: 罗冠坤    时间: 2014-3-18 16:10
%d代表整数类型输出。
%10d代表输出控制除数字符的宽度
%-3代表输出宽度为3,并且左对齐,没有`-`符号代表默认,默认为右对齐
顺便说下,%2.3f,其中%f代表输出浮点数类型,2.代表输出宽度为2,.3代表保留小数点后3位小数长度
作者: apple_victor    时间: 2014-3-18 16:22
printf的格式控制的完整格式:
%     -     0     m.n   
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
==================================
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
%c      显示char型数据
%d,%i   按10进制显示int型数据
  %e,%E   按指数形式显示float型或double型数据
   %f      按小数形式显示float型或double型数据
   %p      按16进制显示指针型数据
   %s      显示字符串

作者: 沙洲冷    时间: 2014-3-18 16:23
补充一点儿,%10d代表输出十进制整数占十个位置宽度,并且右对齐,不足的左边补空格,%-3d代表输出的十进制整数占三个位置宽度,并且左边对齐,不足的右边补空格。
作者: 77媛儿    时间: 2014-3-18 17:26
谢谢大家了 明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2