位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 格式字符串

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-28

格式字符串用來(lái)定義輸入數(shù)據(jù)的格式,其形式與printf()的格式字符相似,也包含格式字符與普通字符兩部分。

(1)格式字符

格式字符串以“%”引導(dǎo),其形式為:

    %[*][width][F/N|h|1]type

各部分介紹如下:

①類(lèi)型字符type

與scanf的規(guī)定相同,如%d代表要求輸入十進(jìn)制有符號(hào)整數(shù)等。具體見(jiàn)表所示。

類(lèi)型字符

功能說(shuō)明

di

以十進(jìn)制有符號(hào)形式輸入整數(shù)

U

以十進(jìn)制無(wú)符號(hào)形式輸入整數(shù)

o

以八進(jìn)制無(wú)符號(hào)形式輸入整數(shù)

X或乂

以十六進(jìn)制無(wú)符號(hào)形式輸入整數(shù)

f

以小教形式輸入實(shí)數(shù)

C

輸入單個(gè)字符

S

輸入一個(gè)字符串

Ee; gG

f作用相同,可以e、g替換f

例如:

scanf ("%c%d%f%lf",&c.&a.&x.&y);

要求輸入一個(gè)字符、一個(gè)十進(jìn)制有符號(hào)整數(shù)、一個(gè)單精度數(shù)據(jù)、一個(gè)雙精度數(shù)據(jù)。

②寬度指示符width

寬度指示符width是一個(gè)十進(jìn)制正整數(shù)的形式,表示該輸入項(xiàng)最多可接收的字符個(gè)數(shù),也就是說(shuō),讀取輸入數(shù)據(jù)中相應(yīng)的n位,按需要的位數(shù)賦給相應(yīng)的變量,多余部分被舍棄。但讀取過(guò)程中如遇到空格、tab或其他不可轉(zhuǎn)換的字符,輸入個(gè)數(shù)可少于寬度指示。

    例如:

    int a,b,c;

    scanf("%2d%2d%3d",&a.&b.&c); 

    printf("a=%d,b=%d,c=%d\n",a,b,c);

程序執(zhí)行時(shí),若輸入12345口67890,輸出結(jié)果為:

    a=12,b=34?c=?5

    第一個(gè)輸入項(xiàng)a的寬度指示符為2位,所以得到“12”;第二個(gè)輸入項(xiàng)b的寬度指示符為2位,所以得到“34”;第三個(gè)輸入項(xiàng)c的寬度指示符為3位,但當(dāng)讀取完“5 之后,遇到空格,空格認(rèn)為數(shù)據(jù)輸入結(jié)束,所以變量c只得到“5”。


繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部