printf()可以有多个参数,但第一个参数必须为字符串.可以在第一个字符串中加入一些标识符标记其要输出的参数的位置和类型.比如:
printf("The user is %d years old./n",age);
其中%d就标识了参数age要显示的位置和类型.
当然也可以是多个参数.
printf("user info:age :%d :weight %d; height %d./n",age,weight,height);
这里后面的参数就有顺序了,自己要把握了.这里%d是标识整型变量的。
下面介绍其它类型变量当如何标识.
用%o(是字母o不是零)来标识八进制数,
用%x和%X来标识十六进制数.x表示后面的十六进制中的X用小写,想大写后面就是大写.
用%u来标识无符号整型变量.
用%ld来标识长整型值.
用%f标识浮点数值.
用%c来标识字符型数值.
这里要举两个例子
printf("The letter is %c /n",'A');
printf("The letter id %c/n",65);
上面两个例子都打印字母A.
用指数格式显示浮点数:
用%e或%E标识符.他们的区别也是大小写的问题如:1.2566e+01和1.2588E.
用%s标识符显示一个字符串.
用%p标识符显示一个指针所指向向的内存地址.
如果要在数值前面加上符号,可以在%后添加一个符号.如%+d.
在%后加数字表示至少要显示的位数.如%3d,不够的用空格填充.如用前面的标识符来显示11则显示出来的效果是空格+11.当然前面填充的不一定就是空格.也可以用数字0来填充.%03d.显示11的时候就是011了.
用%#来要求显示前缀,比如说十六进制的0X.
下列列出的是ANSIC标准peintf()提供的各种转换说明.
%a 浮点数、十六进制数字和p-记数法(C99)
%A 浮点数、十六进制数字和p-记法(C99)
%c 一个字符
%d 有符号十进制整数
%e 浮点数、e-记数法
%E 浮点数、E-记数法
%f 浮点数、十进制记数法
%g 根据数值不同自动选择%f或%e.
%G 根据数值不同自动选择%f或%e.
%i 有符号十进制数(与%d相同)
%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制整数
%x 使用十六进制数字0f的无符号十六进制整数
%X 使用十六进制数字0f的无符号十六进制整数
%% 打印一个百分号