共同點:都是字元
不同點:'\0'對應的ascii碼是0,是ascii碼表中的第乙個字元,即空字元;判斷乙個字串是否結束的標誌就是看是否遇到『\0』。
『0』對應的ascii碼是48,48對應的十六進製制數就是0x30。
「0」是字串常量,字串常量是由一對雙引號括起的字串行。字串常量可以含乙個或多個字元。
『0』是字元常量,字元常量由單引號括起來。字元常量只能是單個字元。
關於「以0結束」的問題:
char s[4] = ; 是字元陣列,不是字串
char s[5] = ; 既是字元陣列,也是字串
char s[5] = ; 既是字元陣列,也是字串
char s[5] = 」abc0」; <=> char s[5] = ; <=> char s[5] = ;
//完整**見下面:char c1[4] = ;
char c2[5] = ;
char c3[5] = ;
char c4[5] = ;
char c5[5] = "abc0";
//從下面的結果可以看出,2 3 4 5 是完全等價的
ascii碼 十六進製制 字元
48 0x30 數字字元『0』
#include#includevoid printbyint(char c, int count)
printf("\n");
}void printbychar(char c, int count)
printf("\n");
}void main(void);
char c2[5] = ;
char c3[5] = ;
char c4[5] = ;
char c5[5] = "abc0";
printf("output by int: \n");
printbyint(c1, sizeof(c1));
printbyint(c2, sizeof(c2));
printbyint(c3, sizeof(c3));
printbyint(c4, sizeof(c4));
printbyint(c5, sizeof(c5));
printf("\n");
printf("output by char:\n");
printbychar(c1, sizeof(c1));
printbychar(c2, sizeof(c2));
printbychar(c3, sizeof(c3));
printbychar(c4, sizeof(c4));
printbychar(c5, sizeof(c5));
}
字元0 數字0和 0
binoct dechex 縮寫 字元 解釋0000 000000 00nut null 空字元00110000 6048300 字元0ascii碼值 0 表示空字元,空字元就是平時所說的 0 字元 0 ascii碼值為 48,如 012 字串中的 0 表示字元 0 數字 0,所說的數字 0,就是平...
徹底搞定0x0d和0x0a
我只在arm linux c和vc 下做了試驗,請大家在接觸其它語言環境下,小心推廣,不行就自己動手做試驗,最可靠。在arm linux c和vc 下回車換行的意義如下。回車 cr ascii碼 r 十六進製制,0x0d,回車的作用只是移動游標至該行的起始位置 換行 lf ascii碼 n 十六進製...
a 0 和 a 0 的區別
在c語言的使用過程中,會經常遇到與字元 0 進行運算的情況,那他們的區別是什麼,我在這個地方將它們記錄下來 在ascii表中,可以查到字元 0 對應的十進位制數為48.然後進行如下的運算。int a 49 char b a printf a c n a printf b d n b printf a...