c語言陣列問題

2022-06-09 05:16:30 字數 645 閱讀 7253

1樓:

從左至右圖:

8位元組正確。

b正確,選b——因為系統會給x陣列多分配一個單元儲存字串結束標誌'\0'。

d,編譯出錯——因為陣列名是常指標,不能再賦值,a=b;違反了這一規則。

2樓:岔路程式緣

第8題:char str[8]=;,因為有一個8,不管str裡面放什麼,系統都保證且僅僅分配給str變數8個位元組的儲存空間。故選8。

第9題:char有兩種賦值方式,一種是以單個字元方式,如char y=;,我們把y叫做"字元陣列";還有一種是以字串方式, 如char x="abcdefg";,我們把x叫做"字串陣列"。兩者的區別是,系統在字串陣列後面多放一個0,用來作為字串結束的標誌,也就回為字串陣列多分配一個位元組的空間。

所以,給x分配的空間比y多。x的實際佔有的空間長度大於y。

此題提示答案有些問題,儘管x和y實際佔有空間的大小不同,但是字串陣列的長度是不包含最後那個0的,也就是說陣列x和y的長度都是7,是相同的,應該選c。畢竟陣列的長度和佔有空間的長度(大小)是兩個不同的概念。

第5題,字元陣列只能在定義時賦值,如char b="abcde";,以後就不能用賦值號(=)賦值了,會出現編譯錯誤。以後可以用複製的方式(strcpy函式)變相賦值。

c語言陣列問題,C語言陣列問題

int main i for i 0 i 這個要問數學老師才知道。c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 include main printf 最大數是 d,下標是 d,最小數是 d,下標是 d n a max m...

c語言陣列長度的問題,C語言陣列長度的問題

strlen函式並非用來求陣列長度,而是求字串中有效字元長度。您的定義 a 3 看上去是一個char型別陣列,但同時a也可以是一個字串,內容為 abc.之所以後面省略,是因為您的字串沒有結尾符 0 即這個字串在定義時未封閉。這導致 c 後面的內容被strlen函式計入字串長度。所以它在您的某一次執行...

C語言中陣列問題

這段 是統計你輸入裡邊0 9的數字個數,輸入的字元用asc碼錶示,c的變數指代輸入的字元,那麼c 0 c 9 這個條件就判斷輸入的是否為數字,c 0 是一個表示式,將會返回你所輸入字元的與字元 0 的差值,例如你輸入的值是字元 1 這個表示式為 1 0 兩個在asc碼中差值為1,故shuzi中下標為...