目录
- 开头
- 1.什么是
strpbrk
函数? - 2.
strpbrk
函数的内部 - 程序
- 流程图
- 3.
strpbrk
函数的实际应用 - 定位字符串中的字符
- 求元音字母(a e i o u A E I O U)的个数
- NB158 牛牛的名字游戏
- 结尾
开头
大家好,我叫这是我58。今天,我们要学一下关于C语言里的能定位字符串中的字符的strpbrk
函数的一些知识。
1.什么是strpbrk
函数?
strpbrk
函数,来自于头文件string.h
,用来定位字符串中的字符,在C语言中,它只能由这样构成:char * strpbrk ( const char * str1, const cha * str2)
1,其中,str1
代表了从哪里定位,str2
则代表了要定位的一些字符。如果这个函数成功地定位出了某一个字符(不包括\0
),就返回已经从定位好的字符串中的这个字符的地址,否则返回空指针。在我讲完strpbrk
函数的基本介绍后,就让我们一起来看一看strpbrk
的内部吧。
2.strpbrk
函数的内部
程序
char* strpbrk(const char* cp, const char* cpa) {const char* cpb = cpa;for (; *cp; cp++) {for (cpb = cpa; *cpb; cpb++) {if (*cp == *cpb) {return cp;}}}return NULL;
}
流程图
3.strpbrk
函数的实际应用
定位字符串中的字符
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main() {char str[99] = "";char stra[99] = "";scanf("%s %s", str, stra);char* cp = strpbrk(str, stra);cp && printf("字符%c在整个str字符串里的下标为:%d\n", *cp, cp - str),cp || printf("定位失败,cp为NULL\n");return 0;
}
求元音字母(a e i o u A E I O U)的个数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main() {int iconut = 0;char str[999] = "";char* cp = str;printf("请输入你想要从中查询元音字母的个数的字符串 -> ");scanf("%s", str);for (; cp = strpbrk(cp, "aeiouAEIOU");cp++, iconut++) {;}printf("%s的元音字母个数:%d", str, iconut);return 0;
}
NB158 牛牛的名字游戏
#include <string.h>
/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param s string字符串* @return int整型*/
int lengthOfLastWord(char* s ) {int iconut = 0;char* cp = strpbrk(s, " ");if (!cp) {return strlen(s);}cp && (cp += strlen(s) - 1);for (; ' ' == *cp; cp--) {;}for (; ' ' != *cp; iconut++, cp--) {;}return iconut;
}
结尾
在你看到这里之后,可以评论来互动一下我哦。
选自C语言中
strpbrk
函数的简介 ↩︎