格式化输出函数包括printf, fprintf, sprintf等等。
格式化输入函数包括scanf, fscanf, sscanf等等。
这类函数在输入输出的时候都有一个参数为格式化字符串(format_str), 里面介绍了输入输出字符串的格式,当需要输入输出变量值时,就需要用对应的格式化字符来替代。
题目中提到的三种格式分别对应:
%ld对应long型,即长整型。
%d对应int型,即整型。
%u对应unsigned int型,即无符号整型。
除此以外,还有如下常见的类型。
%hd对应short型,即短整型。
%hu对应unsigned short型,即无符号短整型。
%f对应float型,即单精度浮点型。
%lf对应double型,即双精度浮点型。
%c对应char型,即字符型。
%s对应char *型,即字符指针/字符数组(均可称为字符串)。
%x对应int型,不过是以16进制输入输出。
%lx对应long型,同样是16进制形式。
以下是一个简单的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdio.h> int main() { int i; long l; unsigned int u; //定义三个不同类型的变量。 scanf ( "%d%ld%u" ,&i,&l,&u); //格式化输入三种变量,每个对应自己的类型。 printf ( "i = %d
" , i); printf ( "l = %ld
" , l); printf ( "u = %u
" , u); //分行格式化输出三个变量的值。 return 0; } |
如果输入1 2 3
将输出
1
2
3
|
i = 1 l = 2 u = 3 |