如何计算 C 字符串中 /
的出现次数?
我能做到:
int countSlash(char str[])
{
int count = 0, k = 0;
while (str[k] != '\0')
{
if (str[k] == '/')
count++;
k++;
}
return count;
}
但这不是一种优雅的方式;关于如何改进它有什么建议吗?
最佳答案
strchr
会做一个更小的循环:
ptr = str;
while ((ptr = strchr(ptr '/')) != NULL)
count++, ptr++;
我应该补充一点,我不赞成为了简洁而简洁,在所有其他条件相同的情况下,我将始终选择最清晰 的表达方式。我确实发现 strchr
循环更优雅,但问题中的原始实现很清楚并且存在于一个函数中,所以我不喜欢其中一个,所以只要他们都通过了单元测试。
关于c - 如何计算 C 字符串中字符 '/' 出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11074256/