格式化輸出函數包括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\n"
, i);
printf
(
"l = %ld\n"
, l);
printf
(
"u = %u\n"
, u);
//分行格式化輸出三個變量的值。
return
0;
}
|
如果輸入1 2 3
將輸出
1
2
3
|
i = 1
l = 2
u = 3
|