【发布时间】:2018-04-20 21:43:15
【问题描述】:
给定一个字符串数组,例如...
char *example[] = {"s", "ss", "sss"};
如何编写一个函数来计算数组中字符的总数,包括终止字符,而不使用 strlen() 等的标准库。
以下是我的尝试
int countChars(char *array[], int len)
{
int total = 0, count = 0;
for (int i = 0; i < len; i++)
{
if (array[i] != NULL)
{
while (*array[i] != '\0') {
count++;
}
count++;
}
total += count;
}
return total;
}
关于 char *array[] 如何实际用于访问的解释将不胜感激。我相信它应该是一个指向字符串的指针数组。
【问题讨论】:
-
好吧,你有什么问题?我看到的明显错误是您没有在每个单词之间重置
count -
看来
if (array[i] != NULL)没有任何意义。 -
如果数组中的字符串已被删除。
-
如果您计算 字节,这很容易。如果你想计算字符,它可能会非常复杂。 (多字节编码,组合字符,...)