C字符串我有这样的代码:表示在存储和比较
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
表示0根据ASCII在内存。
但是为什么在访问内存时我们使用HEX
的数字并且为了比较我们使用DEC
的数字?
是否可以比较"\0"
作为字符串的结尾?像这样的事情(不工作):
for (p = str1; *p != "\0"; p++) {
而且据我所知"\48"
等于0
?
'但是为什么在访问内存时我们使用十六进制数字,并且为了比较我们使用了DEC数字?'谁说?任何示例? –