【C++】如何统计一个字符串中某个字符出现的个数?将C-风格字符串作为参数的函数
【摘要】 目录
预备的基础知识
将C-风格字符串作为参数的函数
C-风格字符串与常规char数组之间的区别
统计某个字符串中含有字符个数的程序
预备的基础知识
C-风格字符串由一系列字符组成,以空值字符结尾('\0')
将字符串作为参数时意味着传递的是 地址,但可以使用const来禁止对 字符串参数进行修改
将C-风格字符串作为参数的函数
表...
目录
预备的基础知识
C-风格字符串由一系列字符组成,以空值字符结尾('\0')
将字符串作为参数时意味着传递的是 地址,但可以使用const来禁止对 字符串参数进行修改
将C-风格字符串作为参数的函数
表示字符串的方式有三种:
- char数组 char ghost[15] = "galloping"
- 用引号括起来的字符串常量 "galloping"
- 被设置为字符串的地址的char指针 char * str = "galloping"
上述这三种类型其实都是char指针(char * )
将字符串作为参数来传递,但 实际传递的是字符串第一个字符的地址。字符串函数原型应将其表示字符串的形参声明为char*类型
C-风格字符串与常规char数组之间的区别
字符串有内置结束字符
包含字符,但不以空值字符结尾的char数组只是数组,不是字符串!
这意味着不必将字符串长度作为参数传递给函数,而函数可以使用 循环来依次 检查字符串中的每个字符,直到遇到结尾的空值字符为止。比如:while ( *str )
统计某个字符串中含有字符个数的程序
-
#include <iostream>
-
unsigned int c_in_str(const char * str, char ch);
-
int main()
-
{
-
using namespace std;
-
char mmm[15] = "minimum";
-
-
char *wail = "ululate";
-
-
unsigned int ms = c_in_str(mmm, 'm');
-
unsigned int us = c_in_str(wail, 'u');
-
-
cout << ms << " 个 m 在 " << mmm << endl;
-
cout << us << " 个 u 在" << wail << endl;
-
-
cin.get();
-
return 0;
-
}
-
-
//函数建立
-
unsigned int c_in_str(const char * str, char ch)
-
{
-
unsigned int count = 0;
-
-
while (*str) //字符串本身自己带有空值字符
-
{
-
if (*str == ch)
-
count++;
-
str++;
-
}
-
return count;
-
}
巧妙就巧妙在:while来进行判断,虽然简单,但很实用
运行结果:
文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。
原文链接:kings.blog.csdn.net/article/details/85286794
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)