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

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
复制代码

 

posted @   shelmean  阅读(15334)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示