字符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,在字符串中表示 ‘\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
原文地址:https://www.cnblogs.com/shelmean/p/9949490.html
时间: 2024-10-14 17:20:30