字元陣列的最後一位是儲存 0麼?

2025-06-22 15:30:09 字數 2795 閱讀 3312

1樓:好嘞啊啊啊啊

你定義a[5] 陣列元素應該是 a[0] a[1] a[2] a[3] a[4] 當你使a[5]="abcde" \0就沒地方儲存了,所存放的不是字串。

2樓:夏艾溪

char a[5]這種陣列的定義方式,編譯器要求陣列大小在編譯期已知,就為5。

字串一定是以'\0'結尾。所以你只能輸入4個字元,最後乙個字元'\0'由編譯器填補。輸入5個字元,如果最後乙個不是\0,就會報錯,不信試試。

3樓:駐伊危樓

\0是系統自動新增的,不需要程式設計師人為新增/

4樓:網友

char a ="abcd";

sizeof(a) = 5;

這樣賦值才有\0

char a = ;

sizeof(a) = 4;

這樣是沒有\0的。

char a[5] = "abcde";//會報錯char a[5] = ;//沒問題。

儲存字元陣列中的最後乙個字元必須是'\0'?

5樓:

這個不一定,不同的程式設計工具對字串的定義是不同的在早期的dos功能呼叫中,彙編呼叫的輸出字串是以$結尾的而pascal語言是沒有結束符而在字串頭上放乙個長度在c語言中,字串是以'\0'結尾的,但不是必須的(除非你要呼叫字串處理函式)

c語言中,「儲存字元陣列中的最後乙個字元必須是'\0' 」,這句話為什麼是錯的?

6樓:it圈新鮮事

字元陣列最後乙個不是\0,只有字串才是。

7樓:網友

字元陣列最後乙個字元未必要是'\0'

字串才是。

判斷題: 字元陣列不要求它的最後乙個字元為'\0',甚至可以不包含'\0'?

8樓:月光下的

您好,很高興您的問題。

在c語言中,對於字元陣列進行定義是,可以同時給陣列中的變數賦初始值,也可以只定義,那麼系統就自動給每乙個陣列元素賦初始值為\0。字元陣列中可以存放單個的字元,也可以存放字串。

若存放的是字串,那麼在最後一定要留乙個陣列元素用來存放字串結束的標誌\0。

所以個人認為上面的判斷題是正確的。

關於字元陣列中的結束識別符號『\0』,是怎麼加啊的

9樓:網友

直接在字元陣列最後乙個字元後面加上'\0'。

例如:char a[10],需要存放「hello」字串:a[0]-a[4]分別存放h,e,l,l,o;a[5]存放'\0';

在c語言中沒有專門的字串變數,通常用乙個字元陣列來存放乙個字串。字串總是以'\0'作為串的結束符。因此當把乙個字串存入乙個陣列時,也把結束符 '\0'存入陣列,並以此作為該字串是否結束的標誌。

有了'\0'標誌後,就不能再用字元陣列的長度來判斷字串的長度了。

10樓:林明泉

定義char a[30],如果沒有初始化,從a[0]到a[29]都是'\0',也就是數值0(強制型別轉換為int就等於0);

char a[30] = "hello",從a[5]到a[29]都是'\0',a[30]未知;

另外你可能不明白:char a = '\0'; 表示式(int)a==0; 為true;

0』是字串結束的標誌,比如定義:char a = "hello"; 則a[5] = '\0', a[6]未知。

判斷題: 字元陣列不要求它的最後乙個字元為'\0',甚至可以不包含'\0'.

11樓:水亮盛辛

首先要區分,字元,字元陣列,字串的區別。

字串預設的最後會有'\0'

chark=

a';/定義的乙個字元變數,並賦值為'a'字元char

a[10];

定義乙個size為10的字元陣列,未初始化char

b[10]=;

定義字元陣列,並用一組字元初始化,此時後面不會自動加上'\0'

charc[10]=;

定義字元陣列,並用「字串」初始化(雙引號內部的是字串),字串後面會自動加上'\0'

此外:對於char

a[10];

gets(a);

scanf("%s",a);這兩種方法為a的元素賦值,預設的最後會有'\0'.

這兩個函式都人為輸入的是字串。

for(inti=

0;i<

num;i++)

scanf("%c",a[i]);//這種方法,是每次讀入乙個字元。這時不會自動在後面加上'\0'

字串陣列末尾才有'\0'結束符號嗎?字元陣列有沒有

12樓:匿名使用者

字串的儲存可能會使用到字元陣列,這個時候為了指標遍歷訪問不出錯會加上「\0」,但是如果只是用於儲存字元的話可以乙個個查詢對應的陣列元素,它需要有確定的空間範圍,這樣訪問不會出錯。另外並沒有什麼專門的字串陣列,除非是多維陣列用來儲存一系列的字串。

13樓:愛在冬天之歌

是的!a= 其實等於a=;

你要是用sizeof(a)看的話其大小是等於4由於很多字串處理函式和巨集,如strcpy,memcpy之類的都是以字串的結束符作為函式完成的終點,所以字串陣列都要以結束符結束。

其實數值陣列也是一樣的,要是沒有結束符也會越界,只是數值數值一般不會被用在strcpy之類函式中。

最小的一位數是0還是,最小的一位數是0還是1?

我們知道,位數表復示一個整制數所佔 有數位的個數 數位是指一個數的每一個數字所佔的位置。對於3082這個數而言,我們說它是4位數。如此看來,0也佔一個數位了。但是記數法裡有個規定 一個數的最高位不允許是0,為什麼要加上這個規定呢?如果沒有這個規定的話,那麼 0 就應該是最小的一位數,因此,00是最小...

asp函式提取倒數第一位的字元

先計算出字串的長度 函式名 strlength 作 用 求字串長度。漢字算兩個字元,英文算一個字元。參 數 str 要求長度的字串 返回值 字串長度 function strlength str on error resume next dim winnt chinese winnt chinese...

想要復出的三位明星,最後一位徹底沒戲,你知道他們都有誰嗎?

在自己演藝事業達到高峰期,最後卻親手斷送自己道路的明星,有范冰冰,李小璐,高虎,張默,黃海波等等。這三位明星是范冰冰,李小璐和吳秀波,其實范冰冰和李小璐還是有可能成功復出的,畢竟他們造成的影響並不大,這兩年觸碰底線的明星太多了,范冰冰 李小璐 吳秀波,還有早些年吸毒的明星,既然明星有起到帶頭作用的,...