编写程序实现函数strstr(str1,str2)的功能。(strstr(str1,str2)函数在字符串str1中查找字符串str2的位置,若找到,则返回str2第一个字符在str1中的位置的地址,若没找到,返回NULL。)程序在字符串str1中查找字符串str2的位置,若找到,则打印str2第一个字符在str1中的位置,若没找到,也打印相应的结果(不允许使用string.h头文件)。
使用循环嵌套,当str1的字符与str2的第一个字符相等,则连续判断str2的所有字符是否与str1的后续字符相等。
这个当然最简单的就是暴力匹配了,你先搞一个变量 i 记录下str1遍历到那里了,然后再来一个 j 变量记录str2遍历到哪里了,然后首先判断 ij 是否相等,如果相等的话,j++,如果不相等 j = 0;i ++;如果 j 等于str2的长度了,就说明str1中有str2如果 i 等于str1的长度了就说明str1中没有2
先写一个strcmp类似功能的函数,以str1长度为基准遍历字符串str1if str[]==str1[] m=0
else,return -1
循环外面放个return m或0
strcmp完成
在strstr函数中,遍历str时调用strcmp函数,
if strcmp(str+i,str1)如果为0return str+i
不为0继续跑完为止,循环外面外面放个return null
strstr完成
手机写不了代码我的大概思路就是这样吧