https://www.cnblogs.com/shelmean/p/9949490.html
字符0、数字0和‘\0’的区别
Bin
|
Oct |
Dec
|
Hex
|
缩写/字符
|
解释
|
0000 0000
|
0
|
0
|
00
|
NUT(null)
|
空字符
|
00110000
|
60
|
48
|
30
|
0
|
字符0
|
ASCII码值 0 表示空字符,空字符就是平时所说的 '\0'。
字符 '0',ASCII码值为 48,如:“012” 字符串中的 0 表示字符 '0'。
数字 0, 所说的数字 0,就是平时说的十进制数字 0,其ASCII码为 0,在字符串中表示 '\0',即空字符。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <stdio.h> #include <string.h> int main() { char array[4] = {0}; array[0] = '0' ; array[1] = 0; array[2] = '\0' ; array[3] = 48; printf ( "array[0] = %d\n" , array[0]); //字符0: '0' <==> 48(ASCII) printf ( "array[1] = %d\n" , array[1]); printf ( "array[2] = %d\n" , array[2]); printf ( "array[3] = %d\n" , array[3]); printf ( "array[0] = %c\n" , array[0]); //字符0 printf ( "array[1] = %c\n" , array[1]); //空字符 0(ASCII) printf ( "array[2] = %c\n" , array[2]); //空字符 '\0' printf ( "array[3] = %c\n" , array[3]); //字符0: 48(ASCII) <==> '0' return 0; } |
输出:
$ ./a.out array[0] = 48 array[1] = 0 array[2] = 0 array[3] = 48 array[0] = 0 array[1] = array[2] = array[3] = 0