字符0、数字0和‘’

https://www.cnblogs.com/shelmean/p/9949490.html

 

字符0、数字0和‘’的区别

Bin
Oct
Dec
Hex
缩写/字符
解释
0000 0000
0
0
00
NUT(null)
空字符
00110000
60
48
30
0
字符0

ASCII码值 0 表示空字符,空字符就是平时所说的 ''。

字符 '0',ASCII码值为 48,如:“012” 字符串中的 0 表示字符 '0'。

数字 0, 所说的数字 0,就是平时说的十进制数字 0,其ASCII码为 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] = '';
    array[3] = 48;
    printf("array[0] = %d ", array[0]);//字符0: '0' <==> 48(ASCII)
    printf("array[1] = %d ", array[1]);
    printf("array[2] = %d ", array[2]);
    printf("array[3] = %d ", array[3]);                           
 
    printf("array[0] = %c ", array[0]);//字符0
    printf("array[1] = %c ", array[1]);//空字符 0(ASCII)
    printf("array[2] = %c ", array[2]);//空字符 ''
    printf("array[3] = %c ", 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
原文地址:https://www.cnblogs.com/mydriverc/p/12421122.html