c 語言中0有幾個用途。它是乙個數字量;在字串中它是乙個結束符(』\0』),它是地
址指標所允許的最小值;在邏輯表示式中它表示假,因為它有這麼多的用途,你在程式設計時要清
楚地表明是哪種。
c++ prime p113--115
#include #include using namespace std;
void main()
{char *cp = "hel0lo"; // l與l之間有個數字0,但是它表示的是字元'0',而非數字本身.
// 字串末尾的結束符null 本身就是個數字0,而非字元'0'
// 因為結束符null 是數字0,因此可以用於邏輯判斷
// while ( *cp != null )
// while(*cp !=0)
// while(*cp!='\0')
while(*cp) // 這種寫法最簡單,必須理解.
{ cout<
下文**:
17.1.7 c語言中與0比較的用法
c 語言中0有幾個用途。它是乙個數字量;在字串中它是乙個結束符(』\0』),它是地
址指標所允許的最小值;在邏輯表示式中它表示假,因為它有這麼多的用途,你在程式設計時要清
楚地表明是哪種。
隱含地和邏律變數比較。正如前面提到,這樣寫邏輯表示式是正確的。
while(!done)
這個表示式隱含在和0 作比較是正確的,因為這個比較是在乙個邏輯表示式裡。
數與0 比較。雖然可隱含地把邏輯表示式與0 比較,你卻不可以把數字表示式隱含地與0
比較。對於數字,程式設計:
while(balance!=0)…
而不可寫成
while(balance)…
把字元與結束符(』/0』)字一樣,字元也不是邏輯表示式。因此對字元程式設計:
while(* charptr!=』0』)…
而不能寫成:
while (* charptr) …
這種說法與常用的c 語言在處理字元資料時的習慣可能有出入,但它強化了這種觀點,即
表示式是在處理字元資料,而非邏輯資料。c語言的有些用法並不是基於可讀性和或維護而設計
的,比如上例即是。
把指標與null(空指標)比較。對指標程式設計:
while(bufferptr!=null)…
而不寫成:
while(bufferptr)…
與字元的情形一樣,這也不是c 的常用用法,但卻增強可讀性。
C語言字串結束符
0 就是8位的00000000,因為字元型別中並沒有對應的這個字元,所以這麼寫。0 就是 字串結束標誌。0 是轉譯字元,意思是告訴編譯器,這不是字元0,而是空字元。空字元 0對應的二進位制為00000000,而數字0為00110000 原來,在c語言中沒有專門的字串變數,通常用乙個字元陣列來存放乙個...
C語言中字串結束符 0
本質 0 就是8位的00000000,因為字元型別中並沒有對應的這個字元,所以這麼寫。0 就是 字串結束標誌。0 是轉譯字元,意思是告訴編譯器,這不是字元0,而是空字元。空字元 0對應的二進位制為00000000,而數字0為00110000 原來,在c語言中沒有專門的字串變數,通常用乙個字元陣列來存...
C語言中字串結束符 0
本質 0 就是8位的00000000,因為字元型別中並沒有對應的這個字元,所以這麼寫。0 就是 字串結束標誌。0 是轉譯字元,意思是告訴編譯器,這不是字元0,而是空字元。空字元 0對應的二進位制為00000000,而數字0為00110000 原來,在c語言中沒有專門的字串變數,通常用乙個字元陣列來存...