案例描述如题 案例分析 我们需要用到字符串查找的知识,解决思路分为三步:
- 分别从键盘中输入str1和str2
- 调用字符串查找函数来确定题目
- 最后将结果输出到屏幕上
必备知识 字符串查找函数 在程序中,经常需要从字符串中查找指定信息,比如,统计一段文字中某个词语出现的次数。 C语言提供了strchr()函数、atrrchr()函数、strstr()函数来实现对字符串的查找功能,接下来将针对这三个函数进行详细解释。
- strchr()函数
此函数用于查找指定字符在指定字符串中第一次出现的位置,其函数原型如下:
char* strchr(const char* str,char c);
其中的参数str为被查找的字符,c是指定的字符,如果字符串str中包含c,strchr函数将返回一个字符指针,该指针指向字符c第一次出现的位置,否则,返回空指针。
- atrrchr()函数
此函数用于查找指定字符在指定字符串中最后一次出现的位置,其函数原型如下:
char* strrchr(const char* str,char c);
其中的参数str为被查找的字符,c是指定的字符,如果字符串str中包含c,strrchr函数将返回一个字符指针,该指针指向字符c最后一次出现的位置,否则,返回空指针。
- strstr()函数
此函数可以搜索在某字符串中是否有另一字符串,原型如下
char *strstr(const char*haystack,const char*needle);
其中参数haystack是被查找的字符串,needle是子字符串。如果找到了后者,则返回子字符串的指针,否则返回空指针。
案例实现 1,案例设计
- 输入字符串1,字符串2
- 用strstr函数判断字符串1中是否包含字符串2
- 根据函数返回值在屏幕上输出最终结果
2,完整代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main()
{
char str1[30],str2[20],*p;
printf("str1:\n");
gets(str1);
printf("str2:\n");
gets(str2);
p = strstr(str1,str2);
if (p)
printf("存在");
else
printf("不存在");
system("pause");
return 0;
}
代码运行结果如下:
|