从键盘输入2个字符串,计算字符串str1中字符串str2出现的次数。要求:不使用字符串比较库函数,直接使用指针进行字符比较。
时间: 2023-05-01 22:04:02 浏览: 50
题意:从键盘输入2个字符串,计算字符串str1中字符串str2出现的次数。要求不使用字符串比较库函数,直接使用指针进行字符串比较。
解答:可以使用双指针法,先遍历字符串str1,然后在每个位置上判断字符串str2是否出现,如果出现则计数器加1。具体实现可以参考以下代码:
```python
str1 = input("请输入字符串1:")
str2 = input("请输入字符串2:")
count = 0
p1 = str1
p2 = str2
while p1 != "":
if p1[0] == p2[0]:
flag = True
for i in range(len(p2)):
if p1[i] != p2[i]:
flag = False
break
if flag:
count += 1
p1 = p1[len(p2)-1:]
else:
p1 = p1[1:]
else:
p1 = p1[1:]
print("字符串2在字符串1中出现的次数为:", count)
```
其中,p1指向字符串str1的开头,p2指向字符串str2的开头。如果当前位置的字符不匹配,则将p1向右移1位。如果字符匹配,则依次比较后续字符,如果全部匹配,则计数器加1,同时将p1移动到字符串str2的最后一个字符之后。如果出现不匹配,则将p1移动到下一个位置,继续匹配。
需要注意的是,上面的代码中使用了切片操作,这是由于切片操作会返回新的字符串,从而能够避免修改原有字符串的问题。