如果在字串後面加結束標誌後,系統還會加嗎 下面各個陣列的位元組是多少

時間 2022-03-18 08:45:09

1樓:匿名使用者

不同的方法定義陣列,系統加不加結束符的情況是不一樣的char a[3]=; 佔3個位元組 char型別佔乙個位元組*3個元素=3位元組

char b[ ]=; 三個位元組char c[ ]=; 四個位元組

char d[ ]= 預設abc後面還有乙個\0作為結束符,所以是四個位元組

2樓:司馬刀劍

空格處填上'\0',其ascii碼的值為0,這是字串結束符。

以下內容摘自網路。

對字元陣列,有以下幾種定義方法:

1) char str="12345";

或給字串加上大括號:char str=;

這種方法定義時,系統會自動在字串的末尾加上字串結束符,即 『\0』,

2) char str[10]=;

這種方法定義時,系統會自動從未初始化的元素開始,將之後的元素賦為\0,如上面的陣列str中的元素實際上是:'1','2','3','4','5','\0','\0','\0','\0','\0'

3) char str=;

這種方法定義時,系統不會自動在字串的末尾加上字串結束符;

此時用sizeof()函式可以正確求出其所佔的記憶體大小;但用strlen()函式不能正確求出其長度,因為strlen是通過\0判斷字串結束的。

所以,採用該方法定義時,一般人為地加上\0,即char str=;

如果在字串後面加結束標誌後,系統還會加嗎?下面各個陣列的位元組是多少?

3樓:gta小雞

只有字串形式的初值表尾部有結束標記'\0',字元陣列形式的沒有,需要自己新增。

char a = ; //尾部有'\0',4位元組char b = "abc"; //同a

char c = ; //尾部沒有'\0',3位元組char d = ; //需要自己新增

字串的結束標誌是???

4樓:維維豆奶

字串的結束標誌是′\0′。

為了測定字串的實際長度,c++規定了乙個「字串結束標誌」,以字元′\0′代表。在上面的陣列中,第11個字元為′\0′,就表明字串的有效字元為其前面的10個字元。也就是說,遇到字元′\0′就表示字串到此結束,由它前面的字元組成字串。

5樓:落楓秋痕

『\0』

字串是系統自動加上結束符的、

以c語言 字元陣列為例:

char a[50]=;

int i=0;

while(a[i]!='\0')

字元陣列賦初值後會自動在末尾加\0嗎

6樓:法律達人

因為這個字串需要占用6個字元位置。 所謂自動加'\0'的問題是:你寫在雙引號中的,編譯程式會認為是字元

7樓:匿名使用者

字元陣列賦值後會自動在末尾加\0, 所以定義陣列最小長度長度需要比賦值長度大一

例如: char name[4]= "tom";

8樓:匿名使用者

呵呵,要看你**實際怎麼寫的。例如:

char a = "success!"; //這句後面就有'\0';

char a = ; //這句後面就不會有'\0'

9樓:碧海_輕風

字元陣列不會有結尾標誌,字串型會預設補上。

10樓:匿名使用者

若是char a[10] = "hello"這樣定義的話,那麼會自動加『\0』的

11樓:

字串後面會自動加\0。

字串結束的標誌是?

12樓:四捨**入

'\0'是字串陣列的結束標誌。

而0則是'\0'的ascii碼表示,是第乙個ascii碼,數字0的ascii碼是48,所以寫程式要用'\0'結尾,比如char a[3] = ,或者直接char a ="hi",編譯器都會認為是字串陣列,且以'\0'結束。

除錯程式時,可以看到記憶體裡面是0,這是ascii碼的表示,也可以看作是乙個unsigned int型別。

13樓:小李無刀

確切說,字串結束標誌是ascii碼的0。而這個「0」是不能用顯示字元表示出來的,只有用轉義字元表示了。

\t,\n都是轉義字元,都是不能用普通顯示字元顯示的。它們表示乙個字元,但不是字串結束字元。

字串陣列中每乙個字串結束的標誌是什麼啊,輸入時。。。。。

14樓:匿名使用者

#include

main()

} 另外我想說,用

ifelse if

句式時else if表示當之前if條件不成立時再進行判斷,例如if(score<60)

else if(score<70)//score大於等於60且小於70

字串陣列中每乙個字串結束的標誌是什麼啊

15樓:溫清怡餘玟

對於char="chinese",在計算陣列長度時包不包括結束標誌'\0',那麼對於char=這種陣列呢?

***所有計算字串的長度都不包括結束標誌'\0',第2種情況同樣。

對於前一種情況,如果用strcpy將乙個陣列複製到另乙個陣列時,會否將結束標誌也複製過去呢?

***會

如果是,那麼在輸出複製後的陣列時遇到該結束標誌是否會終止?為什麼?

***會終止,因為有結束符。

如果不終止,那麼是輸出0還是空格呢?為什麼?

***會終止

字串結束的標誌是,字串的結束標誌是???

四舍 入 0 是字串陣列的結束標誌。而0則是 0 的ascii碼錶示,是第一個ascii碼,數字0的ascii碼是48,所以寫程式要用 0 結尾,比如char a 3 或者直接char a hi 編譯器都會認為是字串陣列,且以 0 結束。除錯程式時,可以看到記憶體裡面是0,這是ascii碼的表示,也...

未結束的字串常量,ASP 未結束的字串常量

程式不完整!if request action login thenusername request username password request password set rs server.createobject adodb.recordset rs.open sql,conn,3,3 ...

asp未結束的字串常量,ASP未結束的字串常量

夜半凍檸樂 shiyong rs 試用碼 錯在這裡,貌似資料庫是沒有用中文名作為列名的,你修改一下就可以了還有條件語句沒結束 if 和end if 要配對出現 set rs server.createobject adodb.recordset if not rs.eof then shiyong ...