【发布时间】:2012-07-02 13:37:24
【问题描述】:
我了解到 '\0' 的 ASCII 值是 0,而 0 的 ASCII 值是 0x30,但是当我尝试使用 printf 打印它们的 ASCII 值时,我得到了相同的输出:
printf("\'\\0\' : %d\n", '\0');
printf("\'\\0\' in hex : %x\n", '\0');
printf("0 : %d\n", 0);
printf("0 in hex: %x\n", 0);
输出:
'\0' : 0
'\0' in hex : 0
0 : 0
0 in hex: 0
为什么?
【问题讨论】:
-
这是一个
NULL字节,与零相同。 -
@EvanMulawski,
'\0'实际上是NUL。NULL是一个指针。 (并不是说 C 语言有区别,但在概念上它们是不同的) -
@Shahbaz:糟糕,错误地双击了“L”。你是对的。
标签: c