1樓:匿名使用者
表示最多可以存20個字元,如果是字串的話,因為結尾有個\0,所以字元數做多為19
2樓:
20 個字元,包括乙個字串結尾 '\0' ,只能輸入 19 個字元。
3樓:乙個男人蕩天涯
你這個是陣列了 20 代表的含有20個元素 。我隨便寫舉個例子。name[20]= 裡面就有20個數字
4樓:匿名使用者
那個20表示最多可以包含20個字元。
你可以輸入 0 ~ 20 個字元。
5樓:程式設計師殷保華
不是,char name[20]; 說明字元陣列name,20表示陣列的長度,有20個元素。賦值時不一定要20個全部都賦值。 name[20]元素的範圍為name[0]——name[19]。
還有char name[20]若沒有對它進行初始化,編譯器會自動將他初始化為隨機字串的形式。要搞清楚陣列的長度、字串長度。
例如:char a[10]="abcdei";
陣列長度為10;
字串長度為6;
字串所佔記憶體為7;(因為字串的話,因為結尾有個\0)c語言不能定義未知長度的陣列,更不能給未設定長度的陣列賦值。
c++中定義char name[20]後,為什麼用printf("%s",name)就能輸出一連串字串?
6樓:匿名使用者
%s代表bai字串,name是字元陣列
的首位址du,也就是字串zhi的首位址。dao所以直接專輸出字串。
c++中定義屬char型陣列即是定義c風格字串。
格式化輸出函式printf第乙個引數中%s代表可變引數部分中對應位置變數為指向字串位址的指標。
在c/c++中陣列的名是儲存該陣列首位址的常量。
需要注意:
(1)c++中定義內建型別區域性陣列變數,不提供預設初始化。這裡char是內建型別,如果不初始化其中儲存的是記憶體中的隨機數。
(2)c++不會對陣列進行越界檢查,而是將越界交給os,如果os檢測記憶體不可讀或寫,對齊進行讀寫os核心會丟擲中斷異常。
(3)c++中c-style字串讓然是以'\0'空字元為結束標誌。printf中的%s仍然會在輸出的時候從name指定的記憶體位置開始讀取資料再交給現存快取以在顯示器上顯示。不初始化或不以'\0'結尾的字串將輸出亂碼,這是如果越界讀取到了不可讀的記憶體,將會報段錯誤(unix核心)或記憶體不可讀(windows)異常以終端程式。
7樓:
%s的概念 就是輸出字串
字串必須要以'\0'結尾
也就是如果你
的name[20]中有乙個位置是'\0'的話專printf("%s",name)就能正確輸出如果你是這樣屬char name[20]=;由於name陣列中沒有'\0'你對name指標用printf函式就會出錯
8樓:匿名使用者
%s是從起始位置輸出字元直到遇到\0為止,合法,
陣列在函式中做實參時會轉成指標。
9樓:匿名使用者
1,%s 是輸出字串;%c,只輸出單個字元。
2, 定義name是陣列,name表示陣列的第乙個字元的位址
10樓:匿名使用者
陣列傳遞給printf函式當引數時,自動退化成指標,printf函式輸出指標指向空間,預設到'\0',結束,所以合法
11樓:wang非在心上
這個復就不需問為什麼啦!!因制為這是它的功能bai啦!!就像1+1為什麼等於du2了。你只需要zhi記住它的作用就是dao 用來輸出資料的!!
那個%s是格式識別符號啦!!就是規定後面的引數是以怎樣的格式輸出的!!另外還有其他幾種常用格式識別符號,%c、%d、%o
12樓:匿名使用者
printf函式本來就是c中的函式 。。
c語言中這句話char (*name)[20] = null;什麼意思?
13樓:
你好,這是乙個指標陣列,
意思是定義了乙個陣列name,它的每個成員都是乙個指標型別的變數,null表示初始化為空,
指標變數定義後最好先初始化再使用,不然指標的指向就是不明確的,很可能造成資料的破壞,
14樓:匿名使用者
name是個指標,被賦予null值(空指標),這是乙個指向長度是20的一維char陣列的指標,可專以把乙個第二屬維長度是20的char陣列的位址賦予它
比如有char (*name)[20] = null;
char s[3][20];
name=s; //這就是把乙個第二維長度是20的char陣列的位址賦予它
15樓:
定義乙個指向具有20個char型別陣列的指標的指標,並初始化為零。此指標可以指向char aa[20]型別的資料,用法為:name = &aa;
16樓:記住回憶
如之前的人所回答的,定義了乙個指向長度為20位元組字元陣列的指標,並初專始化為空。具體請看參考資料
屬
17樓:匿名使用者
定義乙個包含有20個指標的字串指標陣列,並將陣列裡的指標設為空
從鍵盤輸入符串,放在字元陣列a中,將字元陣列a中下標值為偶數的元素按從小到大排序。求幫助
c中菜鳥 1 include 2 include 3 include 4 define max 100 5 int main 6 你輸入的 8 char b max 你輸出的10 char temp 11 char p a 12 char q a 1 13 int i 0,j 0 14 printf...
c語言字串陣列和字元陣列有什麼區別
芒素蘭勵鳥 這個是字元陣列,沒有字串陣列這種說法的。char a abcd 就是可以用字串給字元陣列初始化 僑有福泥月 這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束...
字串與無符號字元陣列有什麼區別
c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩者沒有本質的區別...