scanf中n至此已讀入值的等價字元數掃

2022-02-06 05:06:10 字數 5629 閱讀 4990

1樓:植懷芹

if(x>y)

scanf的格式說明符%%代表什麼意思?

2樓:

對於樓主的說明有多種理解,我主要找了三個這方面的知道,你可以看下.

呵呵,% 格式控制,就是說明你要輸入的是什麼型別的數

scanf("%d",&a);就是輸入整形資料 a

%c 讀入乙個字元

%d 讀入十進位制整數

%i 讀入十進位制,八進位制,十六進位制整數

%o 讀入八進位制整數

%x,%x 讀入十六進位制整數

%s 讀入乙個字串,遇空格、製表符或換行符結束。

%f,%f,%e,%e,%g,%g 用來輸入實數,可以用小數形式或指數形式輸入。

%p 讀入乙個指標

%u 讀入乙個無符號十進位制整數

%n 至此已讀入值的等價字元數

% 掃瞄字元集合

%% 讀%符號

scanf()函式接收鍵盤輸入的字元,無論是什麼型別的經過格式轉換都轉化為對應的二進位制資料,儲存在記憶體中。

格式字元

格式字元用以指定輸出項的資料型別和輸出格式。

①d格式:用來輸出十進位制整數。有以下幾種用法:

%d:按整型資料的實際長度輸出。

%md:m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。

%ld:輸出長整型資料。

②o格式:以無符號八進位制形式輸出整數。對長整型可以用"%lo"格式輸出。同樣也可以指定字段寬度用「%mo」格式輸出。

例:main()

執行結果:-1,177777

程式解析:-1在記憶體單元中(以補碼形式存放)為(1111111111111111)2,轉換為八進位製數為(177777)8。

③x格式:以無符號十六進位制形式輸出整數。對長整型可以用"%lx"格式輸出。同樣也可以指定字段寬度用"%mx"格式輸出。

④u格式:以無符號十進位制形式輸出整數。對長整型可以用"%lu"格式輸出。同樣也可以指定字段寬度用「%mu」格式輸出。

⑤c格式:輸出乙個字元。

⑥s格式:用來輸出乙個串。有幾中用法

%s:例如:printf("%s", "china")輸出"china"字串(不包括雙引號)。

%ms:輸出的字串佔m列,如字串本身長度大於m,則突破獲m的限制,將字串全部輸出。若串長小於m,則左補空格。

%-ms:如果串長小於m,則在m列範圍內,字串向左靠,右補空格。

%m.ns:輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。

%-m.ns:其中m、n含義同上,n個字元輸出在m列範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。

⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。有以下幾種用法:

%f:不指定寬度,整數部分全部輸出並輸出6位小數。

%m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。

%-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。

⑧e格式:以指數形式輸出實數。可用以下形式:

%e:數字部分(又稱尾數)輸出6位小數,指數部分佔5位或4位。

%m.ne和%-m.ne:m、n和」-」字元含義與前相同。此處n指資料的數字部分的小數字數,m表示整個輸出資料所佔的寬度。

⑨g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。

幫你找了好多了,這方面的知識.呵呵,

3樓:匿名使用者

#include

int main()

輸入:4.5%

輸出:4.500000

在輸入流中把%剔除了

4樓:匿名使用者

% 格式控制,就是說明你要輸入的是什麼型別的數scanf("%d",&a);就是輸入整形資料 a%c 讀入乙個字元

%d 讀入十進位制整數

%i 讀入十進位制,八進位制,十六進位制整數

%o 讀入八進位制整數

%x,%x 讀入十六進位制整數

%s 讀入乙個字串,遇空格、製表符或換行符結束。

%f,%f,%e,%e,%g,%g 用來輸入實數,可以用小數形式或指數形式輸入。

%p 讀入乙個指標

%u 讀入乙個無符號十進位制整數

%n 至此已讀入值的等價字元數

% 掃瞄字元集合

%% 讀%符號

5樓:匿名使用者

%% 讀%符號

% 格式控制,就是說明你要輸入的是什麼型別的數scanf("%d",&a);就是輸入整形資料 a%c 讀入乙個字元

%d 讀入十進位制整數

%i 讀入十進位制,八進位制,十六進位制整數

%o 讀入八進位制整數

%x,%x 讀入十六進位制整數

%s 讀入乙個字串,遇空格、製表符或換行符結束。

%f,%f,%e,%e,%g,%g 用來輸入實數,可以用小數形式或指數形式輸入。

%p 讀入乙個指標

%u 讀入乙個無符號十進位制整數

%n 至此已讀入值的等價字元數

% 掃瞄字元集合

%% 讀%符號

6樓:

樓主 你具體說清楚一下啦,這個符號可以表示註釋的意思

scanf函式有乙個\n,其作用是什麼?

7樓:匿名使用者

代表自動轉到下一行 相當於乙個回車

8樓:匿名使用者

先輸入乙個回車再輸入資料。

9樓:匿名使用者

scanf 格式輸入函式

函式作用:按照變數在記憶體的位址將變數值存進去。

一般格式:scanf(格式控制,位址表列)其中,格式控制:

%d:以帶符號的十進位制形式輸出整數

%o:以八進位制無符號形式輸出整數

%x:以十六進位制無符號形式輸出整數

%u:以無符號十進位制形式輸出整數

%c:以字元形式輸出,只輸出乙個字元

%s:輸出字串

%f:以小數形式輸出單,雙精度數,隱含輸出六位小數%e:以指數形式輸出實數

%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0

在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:

l:用於長整型整數,可加在格式符d,o,x,u前面m(代表乙個正整數):資料最小寬度

n(代表乙個正整數):對實數,表示輸出n位小數;

對字串,表示擷取的字元個數

位址列表:是由若干個位址組成的表列,可以是變數的位址,或字串的首位址

舉例:用scanf函式輸入資料。

#include

void main()

運**況:3 4 5 (回車) (輸入a,b,c的值)3,4,5 (輸出a,b,c的值)

使用scanf函式時應注意的問題 :

(1)scanf函式中的「格式控制」後面應當是變數位址,而不應是變數名。

(2) 如果在「格式控制」字串中除了格式說明以外還有其他字元,則在輸入資料時在對應位置應輸入與這些字元相同的字元。

(3) 在用「%c」格式輸入字元時,空格字元和「轉義字元」都作為有效字元輸入

(4) 在輸入資料時,遇以下情況時認為該資料結束。

① 遇空格,或按「回車」或「跳格」(tab)鍵;

② 按指定的寬度結束,如「%3d」,只取3列;

③ 遇非法輸入。

c語言中的scanf 函式的用法

10樓:次次次蛋黃公尺亞

1、用法:int scanf(char *format[,argument,...]);

scanf()函式是通用終端格式化輸入函式,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。

2、其呼叫格式為:

scanf("《格式化字串》",《位址表》);

scanf()函式返回成功賦值的資料項數,出錯時則返回eof。

3、scanf()函式的控制串的使用:

#include "stdio.h"

int main(void)

11樓:兔丞飛

輸出的值只是空格前面的字元是因為scanf函式的輸入格式錯誤,輸入引數的變數前需要加&。

scanf("%s",s);改為scanf("%s",&s);

scanf的用法是:scanf("格式控制字串",輸入引數一,輸入引數二);

格式控制字串包含:格式控制說明,普通字元。

1、格式控制字串表示輸入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字元:在輸出資料的時候,按照原樣輸出的字元,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。

3、輸入的引數是變數的位址,所以要在變數前面加&。

擴充套件資料

「輸出控制符」和「輸出引數」無論在「順序上」還是在「個數上」一定要一一對應。這句話同樣對 scanf 有效,即「輸入控制符」和「輸入引數」無論在「順序上」還是在「個數上」一定要一一對應。比如:

# include

int main(void)

12樓:小肥肥

首先需要#include int scanf( const char *format, ... );scanf()函式是格式化輸入函式,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。

第乙個引數format為乙個常量字串,這個字串中如果包含『%』符號則使用後續引數進行匹配

如:scanf("%d%d", &a, &b)。

擴充套件資料:

1、格式指令說明

format指向的字串包含的格式指令由以下字串行組成:*,表示讀入的資料將被捨棄。帶有*的格式指令不對應可變引數列表中的任何資料。

2、域寬

以乙個非零的十進位制整數形式出現。表示該格式指令最多讀入的字元數。

3、格式說明符

c 讀入域寬指定的數目個字元組成的字串行(後面不會加上空位元組),如果省略寬度則讀入單字元。如%c或%1c讀入單字元,%2c讀入兩個字元(後面不會加上空位元組),以此類推。

s讀入乙個的字串行,後面會加上空位元組。

d,u讀入可選有符號(可選有符號表示輸入時可以帶符號也可以不帶符號,不帶符號則視為非負)十進位制整數。輸入格式應該像strtol函式的base實參為10呼叫時識別的字串行一樣。

i 讀入可選有符號整數。輸入格式應該像strtol函式的base實參為0呼叫時識別的字串行一樣。

a,e,f,g,a,e,f,g 讀入可選有符號浮點數,輸入格式應該像strtod函式識別的字串行一樣。

o讀入可選有符號八進位制整數。輸入格式應該像strtoul函式的base實參為8呼叫時識別的字串行一樣。

x,x讀入可選有符號十六進位制整數。輸入格式應該像strtoul函式的base實參為16呼叫時識別的字串行一樣。

p讀入乙個指標值。讀入的字串行應該與fprintf的%p產生的字串行形式相同。

n不讀入任何字元,而是把到該位置已讀入的字元數儲存到與之對應的int*指向的位置。本轉換說明符如果帶有*或者帶有域寬資訊(如:%*n或%3n等),則後果是未定義的。

數學中的n表示是什麼數集數學中的N表示是什麼數集

數理答疑團為您解答,希望對你有所幫助。3 正無窮大 4 原點 5 26 10 7 12 8 5 10,或10 1 5 9 a 3 c 3 1 2x 3x 5 0 x 1 2x 5 0 x 1或5 2 2 x 4x 4 0 x 2 0 x 2 祝你學習進步,更上一層樓!自然數實數 正無窮原點 2 10...

在數列an中,a1 2,an除以a n 1 n除以n 1,求an

看到遞推公式,是an除以a n 1 是與等比數列相關聯的,等於乙個關於n的函式式,故用累乘法 記住看見n 1 就要說明n大於等於2 當n大於等於2時 a2比a1 2比3 a3比a4 3比4 a4比a5 4比5 an比a n 1 n比 n 1 左邊豎著都乘起來 an比a1 右邊都乘起來 2比 n 1 ...

編寫程式,輸入正整數n1n6和n階方陣a中

1 首先,定義8個整型變數。2 接著,定義乙個陣列變數儲存奇數幻方的各數值。3 輸入奇數幻方的階數。4 給陣列賦初值,初始值為0。5 計算第乙個數1的座標,儲存在變數x和y中。6 將第一數字1,儲存在陣列中。7 用for迴圈,實現奇數幻方各值位置的計算。8 執行程式,輸入乙個階數後,電腦就會輸出該階...