字符0、数字0和‘\0’

字符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',即空字符。

#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

 

posted @ 2018-11-12 22:14  shelmean  阅读(15271)  评论(1编辑  收藏  举报