【发布时间】:2014-02-25 04:44:39
【问题描述】:
我尝试通过以下方式计算字符数组的长度:
char *s="abcde";
int n=sizeof(s)/sizeof(s[0]);
cout<<n;
n 是常数值 4,无论字符串有多长。而我是否将数组声明为
char s[]="abc";
int n=sizeof(s)/sizeof(s[0]);
cout<<n;
输出仍然是 4。我知道在第二种情况下,它包括结束字符 '\0',因此是输出。 我唯一不明白的是为什么我在第一种情况下得到一个恒定的输出。
【问题讨论】:
-
你需要使用 strlen() 来获取字符串的长度。
标签: c++ arrays string pointers