c++ - 有比这更短的方式吗?(计算 C 中字符串中 char 的出现次数)

标签 c++ c

<分区>

int frequence(char *s,char c)
{
    return *s ? (*s==c)+frequence(s+1,c) : 0;
}

还有比这更短的吗?

最佳答案

如果你的意思是字符,可能是。如果你的意思是运行时?那么您离最佳解决方案还很远。

递归比循环慢得多,如果按照编写的方式精确编译,将占用大量堆栈空间来存储足够大的字符串。

关于c++ - 有比这更短的方式吗?(计算 C 中字符串中 char 的出现次数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121702/

相关文章:

c++运算符<<重载不打印出 vector

android - Android Framework 中的 cpp 方法所花费的时间

c++ - C++写的Synology DSM helloworld package编译报错

C++ 无效参数,候选为 : ".." on Setters from different classes

c - 在 OCIAQDeq() 中使用 NULL 指针

c - 如果我们需要按特定顺序打印多线程计算的结果,为什么信号而不是广播有效?

c - 缩小指针数组的内存,可能吗?

c - C 中的链表

c++ - 在 Linux 上链接库时无法识别的选项 --kill-at

c++ - getline() 无法进行第二次调用