我有这样的代码:
char str1[100] = "Hel0lo";
char *p;
for (p = str1; *p != 0; p++) {
cout << *p << endl;
/* skip along till the end */
}
有些部分我不清楚。我知道内存中以空字符结尾的字符串是字节,所有位都等于 0(ASCII)。这就是为什么当*p != 0
我们决定找到字符串的结尾时。如果我想搜索到零字符,我应该与 48 进行比较,它是DEC
根据 ASCII 在内存中的 0 表示。
但是为什么在访问内存时我们使用HEX
数字,而为了比较我们使用DEC
数字呢?
是否可以比较"\0"
为字符串的结尾?像这样的东西(不工作):
for (p = str1; *p != "\0"; p++) {
据我了解"\48"
等于0
?