看C语言程序的时候,往往会遇到printf函数输出,在此,我想总结一下printf的一般用法以及%12d是什么意思
printf函数的一般格式为
printf(格式控制,输出列表);
例如:
printf(“%d,%c\n”,i,c);
括号内包括两个部分,分别为格式控制和输出列表
格式控制总是以格式声明开始,也就是以%号开始,那么以什么结束呢,通过例子我们可以知道,它是以d,c,f,这样的字符结束,
d,c,f这样的字符也代表他们是以什么样的格式输出,下面我将写出printf中常用的格式字符
格式字符 说明
d,i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数
x,X 以十六进制无符号形式输出整数,用x则输出方式以小写形式输出,否则以大写形式输出
u 以无符号十进制形式输出整数
c 以字符型输出,只输出一个字符
s 输出字符串
f 以小数形式输出单、双精度数,隐含输出六位小数
e,E 以指数形式输出实数,e表示(如1.2e+02),E表示(如1.2E+02)
g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0.用G时,若以指数形式输出,则指数以大写表示
总结一下
这里面常用的格式字符有d,c,f,记法如下:d和i一样的用法,i是int的缩写,所以d就是输出整数;c是char的缩写,char 代表单个字符型,所以c就是字符型
输出方式;f是float的缩写,float代表单精度浮点型,所以f就是浮点型的输出方式
输出列表一般都是已经定义好的变量
例如
int i=10;
printf("%d\n",i);
这里的i就代表输出列表
接下来,我想解释一下%12d的意思
例如:
printf("%12d",f[i]);
我们从上面可以知道,%号是开始标志,d代表输出方式是整数类型,f[i]是输出列表
重点:
12就是代表输出一共有12位,也就是我给你12个位子,让你去坐,
但是可能遇到我们不需要12个位子,怎么办呢
我们通过以前的学习知道,程序是由右向左运行的,所以我们从右边开始填位子,不足的就留空位
例子如下:
int i=123;
printf(“%12d\n”,i);
输出结果如下:
123
左边不足用空位补齐
当然,如果超出啦怎么办?
超出的话按照实际值输出就可以啦
总结
%12d的用法就是先给12个位子给你,然后再赋值,赋值的方法就是从右往左,不足用空格表示。