1樓:匿名使用者
'\0'一般放在字串的結束處,表示字串的結束,其是ascii值為0的字元的轉義。
在標頭檔案#include 中包含的一些字串處理函式等中,一般處理字串時,都是一'\0'作為字串的結束,如果乙個字串中沒有'\0'這個結束字元,那麼這些函式將不能確定字串的結束位置在哪兒,從而引起一些不必要的錯誤。
2樓:匿名使用者
\0'在c語言中代表著字串的結束
在你不輸入'\0'的時候 字串不知道已經讀完了 還有繼續向後讀 讀乙個位元組長度是?兩個位元組長度
就是燙 這是ascii值決定的 漢子是兩個位元組就不多說了 '\0'的ascii值為(0x)00有時候如果未定義可能會出現一堆燙知道出現預設的00(也就是'\0')才會停止。
3樓:匿名使用者
因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後乙個元素加上「\0",表示字串結束,這是一種字串的表達方式。
4樓:匿名使用者
表示字串結束,在輸出的時候輸出到這裡為止,你可以試一下在字串中間加入\0 再輸出,就只會輸出\0前面的內容。
5樓:匿名使用者
那個設計c語言編譯器的人強制規範這樣的
6樓:匿名使用者
字串結束符。 表示字串結束。 跟'\n'表示換行,差不多。
c語言中字串,為什麼最後要加個\0 ?
7樓:黯然失色
因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後乙個元素加上"\0",表示字串結束,這是一種字串的表達方式。
c語言中字串,為什麼最後要加個'\0' ?
8樓:手機使用者
因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後乙個元素加上"\0",表示字串結束,這是一種字串的表達方式。
c語言中在字串的結尾加0還是'\0'?有區別嗎?
9樓:匿名使用者
有區別,在c中'\0'為轉義字元,為字串結束標誌。在我們輸入字串時,其實當輸入結束時,編譯器會自動加上'\0'。
10樓:匿名使用者
加'\0',是有區別,其中的'\0'為轉義字元,其ascii值為0,
而數字 0(字元型) 的ascii值為0+48=48 ,可以用printf("%d %d %d",'\0','0',0);
語句來檢視
11樓:匿名使用者
兩者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
12樓:匿名使用者
一樣的,都是字串結束符。
13樓:匿名使用者
有,加'\0'後字元無消
c語言中字串為什麼要有`\0`呢?`\0`在字串中的作用是什麼啊?
14樓:踏雪一無痕
『\0`在字串中標誌著結尾
用來判斷這個字串已經結束
如果不新增'\0',系統就在記憶體中一直向後讀,直到讀到'\0'為止(這個情況就造成錯誤)
乙個語句結束了,就用分號;表示結束啊
15樓:匿名使用者
'\0'表示字串結束,乙個語句的結束是用乙個;號來表示的,如果是語句塊的話是用大括號來表示結束的。。
16樓:我是盼妹珊珊
\0在出入吸附石不會出現,輸出是也不會出現,\0是系統自動加的,表示乙個字串的結束,在記憶體中占有乙個字元的位置。乙個語句結束了用;表示
17樓:周鑫輝
有事沒事的,一般都是最好寫上去。
大多是都是用for(;;)或者while( )語氣的,看個喜愛羅
關於c語言字元陣列的賦值最後自動新增『\0』問題
18樓:
#include
void main()
;printf("%s\n",c);
c[0]='a'; // 僅對bai第一位元du素賦zhi值,它並不影響dao
其後面的版字元權
printf("%s\n",c);
c[1]='b'; // 同理
printf("%s\n",c);}
19樓:w天使de翅膀
可以正常讀出來的,\0只是乙個相當於識別符號的東西,用來判斷已經到達字串的末尾
20樓:匿名使用者
c[5]只有5個空間無法完全容納字串"hello",因為這個字串需要占用6個字元位置。
所謂自動加'\0'的問題是內:你寫在雙
容引號中的,編譯程式會認為是字串,會自動為你新增上乙個字串結尾符號0,而不是執行時新增的。
如果你用debug方式執行程式,除錯環境自動會把你開設的char a[5];進行初始化0的工作,這時你再將第1位初始化時,後面的0仍存在就好象字串結尾已經存在了。如果非debug執行則沒有這個初始化工作。
如果你用字元方式初始化應當寫:char c[6]=;
21樓:匿名使用者
char c[5] = ; 有兩個問題
(1)語法不對,應該是 char c[5]="hello"
(2)有錯誤, char c[5]="hello",字串終止符溢位了
2. 但是我如果定義char a[5];給前一回位賦初值,答
則第二到第五位會自動賦值'\0'
// 沒錯,但注意是陣列第1到第4項自動賦值為0但後面我又給第三位到第五位賦值了,這個陣列是不是就不能正常讀出了// 需要看你賦什麼值,如果是非零值、並且你把陣列a當字串使用,則結果無法預料(無法確定終止符);如果你把陣列a只是當陣列使用,則不會有讀取問題
22樓:阿炳仰
可以正常讀出 就是只能讀出 第一位
c語言中字串為什麼要有呢在字串中的
0 在字串中標誌著結尾 用來判斷這個字串已經結束 如果不新增 0 系統就在記憶體中一直向後讀,直到讀到 0 為止 這個情況就造成錯誤 乙個語句結束了,就用分號 表示結束啊 0 表示字串結束,乙個語句的結束是用乙個 號來表示的,如果是語句塊的話是用大括號來表示結束的。0在出入吸附石不會出現,輸出是也不...
c語言中字串相減是什麼意思,C語言中字串相減是什麼意思
從首字母開始,比較字元的大小,如果一個a可通用,一個b開頭,那麼a開頭的 就大,則相減結構為正 字串不能相減,但你可以用strcmp來做比較,其實該函式也是從字串的首地址開始比較字元的ascii碼 金色潛鳥 1 c語言中沒有 字串相減 運算。2 c語言中 有 單個字元 相減 運算。例如,把字串 12...
什麼叫數值型字串,C語言中,數字字串和數值型資料有什麼區別
數值型字串我們可以理解為 乙個string型的字串中 裝有int型的數值 這時 內候 string型的字串就叫做容 數值型字串。舉例 23 23 前者加了兩個引號因此是string型別的且裡面的值是int型的 所以是數值型字串 而後者直接就是int型的 應該就是型別為字串,內容是數值吧,如 1234...