chara10不能將字串abc儲存在陣列中的是

2021-03-12 16:15:14 字數 1273 閱讀 8310

1樓:

1char a[10];不能將字串"abc"儲存在陣列中的是(c)。

2b:a[0]=0;strcat(a,"abc"); //a[0]=0;可以去除。

d:int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; //a[i]=0;等價於a[i]='\0'; 表示字串結束符,不加不行。

2樓:匿名使用者

a[0]的意思是陣列a的第乙個元素

a[i]的意思是數字a的第i個元素,i是個變數,在迴圈中,從0到2陣列迴圈操作為

a[0]=0+97,a[1]=1+97,a[2]=2+97,就是分別給陣列a中的元素賦值

必須加上

3樓:匿名使用者

答案是c

a是將字串拷貝到a中;

b是在a字串後面追加字串"abc",所以也沒有問題,a[0]=0;要加,而且要在前面加,首先保證a字串是空的,定義完成a中的內容不定,後面的函式是兩個字串合併到第乙個字串上,所以不加不行;

c把字串"abc"的位址賦給了變數a,原來的定義丟失,造成記憶體洩露;

d沒有問題,最後a[i]=0,此時i=3,字串最後寫入字串結束符。

如何正確地宣告乙個常量字串陣列

4樓:折柳成萌

定義:用雙引號(「」)括起來的0個或者多個字元組成的序列儲存:每個字串尾自動加乙個 『\0』 作為字串結束標誌(1)在c語言中沒有專門的字串變數,如果想將乙個字串存放在變數中以便儲存,必須使用字元陣列,即用乙個字元型陣列來存放乙個字串,陣列中每乙個元素存放乙個字元。

例如「char a[10]="love".」

(2)在程式中,字串常量會生成乙個「指向字元的常量指標」。當乙個字串常量出現於乙個表示式中時,表示式所使用的值就是這些字元所儲存的位址,而不是這些字元本身。因此,你可以把字串常量賦值給乙個「指向字元 的指標」,例如:

char *a = "123" ; a = "abc";,後者指向這些字元所儲存的位址。但是,你不能把字串常量賦值給乙個字元陣列,因為字串常量的直接值是乙個指標,而不是這些字元本身。例如:

char a[5];a[0] = "a";就是錯誤的,報錯結果:invalid conversion from 'const char*' to 'char'。

例如:char a[10]="love",的意思就是用字串「love」來初始化字元陣列a的記憶體空間,而陣列的首位址也就是「love」字串的位址。

請問C語言中,char a 10與a 1一樣嗎謝謝

不一樣bai。在char a 10 中,元素的類du型是char。zhi在a 1 0中,dao數字0首先會被轉內換成char型別,也容就是 0 然後進行比較。在a 1 中,不需要做任何轉換,因為 本身就是char型別。然後很明顯的是 0 和 這兩個字元是不同的。如果把他們轉換成相應的數字型別,你會發...

win10不能安裝office

提示你系統缺少元件,出現這個提示,似乎有可能你的系統不是原版,建議安裝原版系統,然後再安裝office2010!回答1 快捷鍵 win r,開啟執行,輸入regedit,開啟登錄檔 2 找到 hkey classes root installer products,products資料夾。會出現很多...

能不能裝win10,能不能 裝win

完全可以。目前windows10完善的已經很可以了。而且windows10更加酷炫,介面也優化了不少。而且你是酷睿i7啊根本不怕帶不動,目前現在由於微軟大力推廣windows10,以後我會放出更好的補丁和更新,對遊戲的支援,效果會更加好。所以公升級windows10完全是可行的。因為發布已經超過一年...