c語言中字串為什麼要有呢在字串中的

2021-03-03 20:50:52 字數 5621 閱讀 8522

1樓:踏雪一無痕

『\0`在字串中標誌著結尾

用來判斷這個字串已經結束

如果不新增'\0',系統就在記憶體中一直向後讀,直到讀到'\0'為止(這個情況就造成錯誤)

乙個語句結束了,就用分號;表示結束啊

2樓:匿名使用者

'\0'表示字串結束,乙個語句的結束是用乙個;號來表示的,如果是語句塊的話是用大括號來表示結束的。。

3樓:我是盼妹珊珊

\0在出入吸附石不會出現,輸出是也不會出現,\0是系統自動加的,表示乙個字串的結束,在記憶體中占有乙個字元的位置。乙個語句結束了用;表示

4樓:周鑫輝

有事沒事的,一般都是最好寫上去。

大多是都是用for(;;)或者while( )語氣的,看個喜愛羅

c語言中字串,為什麼最後要加個『\0' ?

5樓:匿名使用者

'\0'一般放在字串的結束處,表示字串的結束,其是ascii值為0的字元的轉義。

在標頭檔案#include 中包含的一些字串處理函式等中,一般處理字串時,都是一'\0'作為字串的結束,如果乙個字串中沒有'\0'這個結束字元,那麼這些函式將不能確定字串的結束位置在哪兒,從而引起一些不必要的錯誤。

6樓:匿名使用者

\0'在c語言中代表著字串的結束

在你不輸入'\0'的時候 字串不知道已經讀完了 還有繼續向後讀 讀乙個位元組長度是?兩個位元組長度

就是燙 這是ascii值決定的 漢子是兩個位元組就不多說了 '\0'的ascii值為(0x)00有時候如果未定義可能會出現一堆燙知道出現預設的00(也就是'\0')才會停止。

7樓:匿名使用者

因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後乙個元素加上「\0",表示字串結束,這是一種字串的表達方式。

8樓:匿名使用者

表示字串結束,在輸出的時候輸出到這裡為止,你可以試一下在字串中間加入\0 再輸出,就只會輸出\0前面的內容。

9樓:匿名使用者

那個設計c語言編譯器的人強制規範這樣的

10樓:匿名使用者

字串結束符。 表示字串結束。 跟'\n'表示換行,差不多。

c語言中字串,為什麼最後要加個\0 ?

11樓:黯然失色

因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後乙個元素加上"\0",表示字串結束,這是一種字串的表達方式。

c語言中!='\0' 是什麼意思

12樓:過兒兒兒兒兒兒

!='\0'.就是執行到字串結尾時結束。

!的意思是非,亦可以理解成不。『\0』是字串的結束符號,由編譯器自動加上。

比如說,把乙個字串賦值給陣列:u8 str1=;實際上陣列str1在記憶體中的實際存放情況為: c x j r .

2 1 i c . o r g '\0' 這後面的'\0'是由c編譯系統自動加上的。

所以在用字串賦初值時一般無須指定陣列的長度, 而由系統自行處理。 把字元陣列str1中的字串拷貝到字元陣列str2中。串結束標誌'\0'也一同拷貝。

但是......也有一些例外情況發生。比如,當陣列長度不夠。假設我們指定了陣列長度,如:u8 str1[13]=;由於字元組str1的長度為13,所以後面的資訊會丟失,即'\0'丟失。

另外,如果在給陣列賦值時,把每個字元單獨用引號括起來。也會丟失'\0'。如:

u8 str1=;如果希望陣列以'\0'結束,則要麼寫成:u8 str1=;要麼寫成(人工新增'\0'):u8 str1=;要麼寫成(故意給陣列預留乙個空位):

u8 str1[14]=;。

13樓:小莫

在c語言中,!='\0' 是沒有結束的意思。

其中,!=是關係運算號,\0(空字元)是字串的結束碼。

例如:char s = "10";

printf("%s\n", s);

printf("s[1]:%d\n", s[1]);

printf("s[2]:%d\n", s[2]);

printf("s[1]:%c\n", s[1]);

printf("s[2]:%c\n", s[2]);

char u = ;

cout << sizeof(u) / sizeof(*u) << endl;

char v = "hello";

cout << sizeof(v) / sizeof(*v) << endl;

列印結果如下圖:

擴充套件資料:

在c語言中,運算子總共包括以下十類:

1、算術運算子

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

2、關係運算子

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3、邏輯運算子

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4、位操作運算子

參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5、賦值運算子

用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6、條件運算子

這是乙個三目運算子,用於條件求值(?:)。

7、逗號運算子

用於把若干表示式組合成乙個表示式(,)。

8、指標運算子

用於取內容(*)和取位址(&)二種運算。

9、求位元組數運算子

用於計算資料型別所佔的位元組數(sizeof)。

10、特殊運算子

有括號(),下標,成員(→,.)等幾種。

14樓:靠名真tm難起

!='\0' 是沒有結束的意思。\0(空

字元)是字串的結束碼。例如:在求字串長度時,有一句是while (ch[i++]!='\0')

當字元ch[i++]不等於結束符'\0'時.字串最後都會有乙個結束符,例如,

char a[100];

scanf("%s",a);

你輸入字串china之後,那麼字串陣列中a[0]=='c',a[1]=='h'.a[5]=='a' a[6]=='\0'

15樓:匿名使用者

字串都是以'\0'結束的,如

char str[6]="hello";

而在記憶體中則是"hello\0"

即你申請了6個空間,但只能用5個,最後乙個用來放'\0'。表示字串結束。

例如下面乙個查詢str末尾的程式

while(*str != '\0')

有時也可以把'\0'直接放在字串末尾,用來表示該字串結束。如:

char str[10];

for(i=0;i<5;i++)

str='\0';

希望對你有用

16樓:雙魚婦聯鋼鐵俠

這是c語言中的if巢狀,寫成這樣你或許就認識了:

if(x

}意思就是x

如果滿足x

17樓:匿名使用者

if(z=y>0)表示:

第一步:z=y>0理解為:z=(y>0);即y>0則z=1,否則z=0

第二步: z不為0,則if的條件為真,否則為假

18樓:匿名使用者

是邏輯表示式,用於判斷變數y的內容是否為0

當y的內容為0,表示式的計算結果為真(即結果為1)

若y的內容為非零值,表示式的計算結果為假(結果為0)

19樓:匿名使用者

字元裡面的數字0

char a = 『0』;//a這個字元裡面裝的就是0當我們要把乙個字元格式的數字轉化為整型數字時,可以這樣用:

char a = '7'; int b = a - '0';//b = 7

同理·數字加『0』可轉化為字元

20樓:匿名使用者

'0'的意思就是字元0,跟'a' '#'的意思一樣。可以用來將字串形式儲存的數字(如4251)乙個乙個轉化成數字,原理就是字元'4''2''5''1'跟'0'在ascii中的值得差就是4、5、2、1,再用乙個變數number,number = character - '0' + 10 * number,就能用number儲存四千五百二十一了。

21樓:匿名使用者

!的意思是非,亦可以理解成不。『\0』是字串的結束符號,由編譯器自動加上。!='\0'.就是執行到字串結尾時結束。一般用在迴圈之中。比如

#include

main()}

22樓:紫晨心戀

'0'是字元常量,在ascii(美國標準資訊交換**)字符集中,數字『0』的**是48,運用不同的格式,其作用也不同,要求輸出值為\d型別是其值可代表為48,為\c型別時其值為0等等用法

23樓:隨楓輕逝

\0是字串結束符,!號的意思是非,既取反,如果有語句!=\0,那它的意思就是:字串沒有結束

24樓:匿名使用者

是判斷該字元是否是乙個字串的結尾

c語言中在字串的結尾加0還是'\0'?有區別嗎?

25樓:匿名使用者

有區別,在c中'\0'為轉義字元,為字串結束標誌。在我們輸入字串時,其實當輸入結束時,編譯器會自動加上'\0'。

26樓:匿名使用者

加'\0',是有區別,其中的'\0'為轉義字元,其ascii值為0,

而數字 0(字元型) 的ascii值為0+48=48 ,可以用printf("%d %d %d",'\0','0',0);

語句來檢視

27樓:匿名使用者

兩者bai是相同du的。

例:zhichar *str="abcd";

memset(str+3, 0, 1) ==> str="abc"

memset(str+3,'\0',1) ==> str="abc" 此二

者等價dao

但memset(str+3,'0',1) ==> str="abc0"

從另一專

個角度屬

(int)(0) = 0

(int)('\0') = 0

(int)('0') = 48

28樓:匿名使用者

一樣的,都是字串結束符。

29樓:匿名使用者

有,加'\0'後字元無消

c語言中如何定義字串,C語言中如何定義字串?

可以用陣列或指標 陣列 char s 80 abcd 或者char s 80 說明 自動加字串結束標誌 0 char s 80 指標 char s char s abcd c語言是一門通內用計算機程式設計容語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼...

c語言中字串相減是什麼意思,C語言中字串相減是什麼意思

從首字母開始,比較字元的大小,如果一個a可通用,一個b開頭,那麼a開頭的 就大,則相減結構為正 字串不能相減,但你可以用strcmp來做比較,其實該函式也是從字串的首地址開始比較字元的ascii碼 金色潛鳥 1 c語言中沒有 字串相減 運算。2 c語言中 有 單個字元 相減 運算。例如,把字串 12...

c語言中字串,為什麼最後要加個

0 一般放在字串的結束處,表示字串的結束,其是ascii值為0的字元的轉義。在標頭檔案 include 中包含的一些字串處理函式等中,一般處理字串時,都是一 0 作為字串的結束,如果乙個字串中沒有 0 這個結束字元,那麼這些函式將不能確定字串的結束位置在哪兒,從而引起一些不必要的錯誤。0 在c語言中...