C語言中0和0的區分,還有順便幫忙解釋相關程式

2022-11-23 00:56:10 字數 5440 閱讀 1814

1樓:匿名使用者

'\0'的型別是char型字元,而『0』是int型別數值,'\0'還表示遍歷所有,已經結束。(*p == '0' && *(p+1) != '\0')表示*p字串中第p個字元是0而第p+1個字元不是0即字串沒有結束(可能使用者輸入錯誤或字元為空);(*p !

= '\0')表示字串不為空,則向下計算。

2樓:匿名使用者

0是字元0,\0是字串結尾識別符號,第一個if意思是p指向的地址為0而且p後面沒有字元了;就return false;while中判斷條件是p是否為結束字串,if判斷p所指向的內容是否在1到8之間,如果再的話,p指標往後移動,再重新判斷,直到if條件滿足(即p所指向的內容<=0或者》=9)返回false

3樓:

『0』是字元0,ascii碼是48,『\0』是nul符號,ascii碼是0,即他們寫法很相似,但在計算機裡是不同的符號。

\0用來標記字串結束,判斷是否等於\0即判斷字串是不是結束了

4樓:匿名使用者

這個問題搞清楚字元陣列的組成就很簡單了,一個字串在末尾必須有一個『\0』標識字串結束,否則就是不合法,首先函式引數*str是字串的首地址,第一個if語句是判斷字串是不是「0」,字串「0」的最根本組成是「0 \0」,所以要同時判斷*p和*(p+1);而while結束條件中也是這個道理,只要*p='\0',就表明當前指標已經指向了字串結尾,就可以結束迴圈了

5樓:

第一個是判斷輸入的是否為0,如果是0,要檢測0後面是否是字串結束符'\0',假如不是說明還有別的字元,

返還失敗。

while是判斷字串是否含有非數字輸入的。

進行到最後就正確了,返還true。

也許是判斷8進位制的。

c語言中'\0'和'0'一樣嗎?

6樓:匿名使用者

這個不一樣,『\0』是字元陣列或者字串結束標誌,系統在引用字元陣列或者字串的時候遇到『\0』就會結束,在進行字元陣列初始化的時候,這個『\0』是自動加上去的,而『0』可以作為字元陣列的一個元素

7樓:匿名使用者

'\0'是字串結束標誌.「0」所對應的是ascii值為48,記住凡是有「\」的出現表示轉義

8樓:匿名使用者

'\0'是nul字元,對應的ascii為0;

'0'是0字元,對應的ascii為48(十進位制);

9樓:sky超

不一樣'\0'是轉義字元,表示空字元.

'0'表示0字元

10樓:

不一樣,'\0'表示ascii是0的字元

'0'表示字元0

11樓:匿名使用者

'\0'代表字串結尾;

'0'代表字元0。

c語言中'\0'和' '有什麼區別

12樓:滄海雄風

1  空格為一個可以輸出的字元  \0為字串結束符 不能輸出

2  空格的ascii碼為32  \0的ascii碼為0

13樓:

'\0'是表示真正的0,它作為字串的結束符

' '空格是一個字元,asc碼它是32

'0'也是字元,asc碼它是48

14樓:匿名使用者

'\0'是字串結束符,ascii碼是0;

『 』是空格,代表一個顯示為空白的字元,ascii碼為32,ascii碼中有很多不可見字元,但是都有自己的獨特意義。

「」是空字串,只包含一個'\0'的字串,但是,它與『\0』型別不同,它是陣列型別,而'\0'是單獨的一個字元。

我想你問的應該是第三個和第一個的區別。

15樓:匿名使用者

'\0'用作字串的結束符。它的ascii數值就是0。

『 』是空格字元。它的ascii數值是32。

例如:int i = '\0'; // i=0int j = ' '; // j=32

c語言中"\0"與'\0'的具體區別

16樓:軍事科技

雙引號是指字串,單引號是指字元。

17樓:一頁凌風

"\0"表示字串 結束符。 因為本身是字串,所以"\0"可以作為地址,是字串"\0"的首地址。

'\0'表示字元 結束符。只能作為字元被賦值。

c語言程式中的null 和'\0'的區別是什麼?

18樓:召走刀文

null一般表示空指標,也就是這個指標沒有指向任何地址。你也可以簡單的理解為指標變數初始化時賦值

'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。

對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈

library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含一個'\0'字元的。

所以,當不輸入字元(書名)時,跳出迴圈。

下面這段c語言程式中,null 和'\0'的區別是什麼?

19樓:召走刀文

null一般表示空指標,也就是這個指標沒有指向任何地址。你也可以簡單的理解為指標變數初始化時賦值

'\0'是字串的結束符。例如字串char *p= "abc";實際上,一共有4個字元,分別是'a' 'b' 'c' '\0',所以當用陣列來儲存這個字串時,就必須至少要有4個元素的陣列。

對於gets函式,當gets函式出現異常時返回null,正常處理是返回字串的指標,這是函式自己定義的。當gets函式異常時,跳出迴圈

library[count].title[0] != '\0'是判斷字串是否是空字串,""就是空字串,但是它裡面是包含一個'\0'字元的。

所以,當不輸入字元(書名)時,跳出迴圈。

20樓:

c中沒有對null預定義,所以null和'\0'區別就大了:null只是個合法的使用者識別符號,而'\0'是預定義為0的字元常量。

如果是null和'\0',那它們沒有區別,都被預定義為值為0的常量,所以混用它們不會產生任何問題,甚至把用它們的地方都改成0也無妨。一般情況下,null用於使指標無效或判斷指標是否無效,'\0'則用於字串結束或判斷字串是否結束。這樣規範書寫,**的可讀性就大為提高,沒有發現有什麼別的意義。

21樓:匿名使用者

gets(library[count].title) != null這裡是用來判斷指標是否為空

library[count].title[0] != '\0'這裡判斷裡面的資料是否為字串結束標記

求解c語言中'\n'和'\0'用法,意思。

22樓:

\n : 回車換行, 從鍵盤輸入回車使程式繼續往下跑,才會列印j的值, 否則一直迴圈(while)

\0: 字串的結束符,你定義的陣列沒有初始化,裡面的值是隨機的,所有要加'\0'來正確結束字串,不然它一直往後面找,直到找到'\0'為止, 這樣有可能訪問到別人的記憶體空間出錯。

23樓:風若遠去何人留

第一個,printf裡面的\n不用解釋了吧 就是簡單的換行迴圈裡面的\n用途為避免多餘資料干擾 把本行其它輸入全部清空比如你例子裡面的cdff

第二個\0是字串結束符

當printf以%s輸出 或者是puts

這類輸出字串的函式在輸出的時候 是遇到\0結束的。如果字元陣列中不設定\0那麼字串本來結尾的地方就可能是隨機值,輸出到這裡的時候不會結束,而是繼續 直到遇到\0為止

這個很容易導致不可預知後果,列印出亂碼已經是最好的一種了,直接導致程式崩潰也是有可能的

事實上 很多以char *作為引數的函式 都是以\0來檢查結尾的

c語言中 char c=0和c='\0'的區別

24樓:匿名使用者

在計算機中,'\0'表示一個字元,其ascii值就是數值0。

計算機在儲存字元時,儲存的就是字元的ascii值,即,計算機是用一個位元組的整數來儲存字元的。一個位元組的有符號數可表示的資料範圍為:-128到127。

所以,char c=0和char c='\0' 是一樣的效果。

25樓:陳_輝_軍

沒區別的

因為'\0'的ascii碼為0,即通常所說的空(null)

26樓:我ai讀書

char 和 int 是可以通用的.

所以沒區別.

27樓:司徒劍仙

ascii碼裡頭0字元就是\0

c語言中,'\0'和0有什麼區別?在數學表示式裡,減去'\0'和減去0有差別嗎?

28樓:匿名使用者

'\0'是結復束符,0只是普通的數字。減去

制'\0'就是

bai減去du它對應的ascll(zhi'\0'的ascll碼值是0)其結果與減去0是相dao同的。但是,如果你減去'0』,那它減去的是'0'的ascll值48.如a=100;(a-0)==(a-'\0')==(a+'0'+48')

29樓:匿名使用者

'\0'和0的不同在於,編譯器會認為'\0'是一個char型別,而0是一個int型別。但是c語言允許部分的隱式的型別轉化,這樣在數學表示式上,兩者基本是一樣的。既然都一樣的,就直接寫0最簡單。

30樓:

'\0'是char型,'\0'是ascii碼為0的字元,作為字串結束標誌 還有'0'是ascii碼為48的字元

0是int 型

如在表示式裡就隱藏了型別轉換,'\0'從字元型轉換成整數0,結果相同

31樓:0若惜

'\0'表示結束符,表示字串結束,沒有任何含義,0是一個字元,表示零字元。

數學表示式裡好像沒見過\0

32樓:匿名使用者

沒有區別,'\0'的意思是一種轉義字元,轉義成ascii碼值為0的字元,而字元在c編譯環境下就是以ascii碼值儲存,所以'\0'在c編譯環境下就是0.

33樓:匿名使用者

c語言中,\0是字元結束標誌和0是完全不同的概念。。

34樓:匿名使用者

除以0 和0 有什麼區別??

c語言中ai0啥意思,c語言中ai0和ai0有沒有區別

a i 不等於結束符 一般用於字串for迴圈結束條件 for int i 0 a i 0 i 字串儲存的時候以 0 結尾,一般a 10 abcdsf 在f的後面有 0 a i 0 也就是說遍歷這個字串 c語言中a i 0和a i 0 有沒有區別 10 a i 0和a i 0 是有區別的,也是有相同點...

c語言中p0表示C語言中p0表示

也得看p的定義了 如果int p p 0 則是把p執行的int空間的值修改為0如果int p p 0 則是把指向int空間的指標置為0。上面這幾個例子,都得考慮p是否指向了有效記憶體位置,否則是危險的操作。完整的範例 int a int p a p 0 相當於p指向的int空間,即a的值被改為0瞭如...

c語言 x 0是什麼意思,C語言中 x 0表示什麼意思

因為取反運算的優先順序高於邏輯運算子 所以這個邏輯表示式的值是先對x作取反運算,再將該值與0作比較是否相等。要點1 運算優先機高 優先順序低 x表示 如果x為非0值 則 x 結果就是內0 只有x 為0的時候 x 結果才是容1 下一步的 比較就不用說了吧 整個表示式意思就是 當x為非0值的時候整個表示...