1. 程式人生 > >C語言中%c與%s的區別與劃分

C語言中%c與%s的區別與劃分

%c格式對應的是單個字元,%s格式對應的是字串。例:char a;char b[20];scanf("%c",&a); //只能輸入一個字元。scanf("%s",b); //可以輸入一串不超過20字元的字串。

%c對應型別為char, %s對應型別為char , 即字串.
用作輸入時, 二者引數都要傳char
型. %c輸入函式只會對一個位元組空間賦值. 而%s會一直賦值,直到輸入中遇到空白字元為止.
用作輸出時, %c傳char型別,輸出一個字元. %s傳char*型別引數, 輸出到\0為止.

%c只能輸出或輸入一個字元,%s輸出的是一串字元還有就是char a; string s;輸入的時候scanf("%c", &a);這裡的&不能少,而scanf("%s",s);這裡不能有&符號

轉換說明符
%a(%A) 浮點數、十六進位制數字和p-(P-)記數法(C99)
%c 字元
%d 有符號十進位制整數
%f 浮點數(包括float和doulbe)
%e(%E) 浮點數指數輸出[e-(E-)記數法]
%g(%G) 浮點數不顯無意義的零"0"
%i 有符號十進位制整數(與%d相同)
%u 無符號十進位制整數
%o 八進位制整數 e.g. 0123
%x(%X) 十六進位制整數0f(0F) e.g. 0x1234
%p 指標
%s 字串
%% “%”

2`標誌
左對齊:"-" e.g. “%-20s”
右對齊:"+" e.g. “%+20s”
空格:若符號為正,則顯示空格,負則顯示"-" e.g. “% 6.2f”
#:對c,s,d,u類無影響;對o類,在輸出時加字首o;對x類,在輸出時加字首0x;
對e,g,f 類當結果有小數時才給出小數點。

3.格式字串(格式)
〔標誌〕〔輸出最少寬度〕〔.精度〕〔長度〕型別
“%-md” :左對齊,若m比實際少時,按實際輸出。
“%m.ns”:輸出m位,取字串(左起)n位,左補空格,當n>m or m省略時m=n
e.g. “%7.2s” 輸入CHINA
輸出" CH"
“%m.nf”:輸出浮點數,m為寬度,n為小數點右邊數位
e.g. “%3.1f” 輸入3852.99
輸出3853.0