求两个字符串中相同的部分的c语言
时间: 2024-02-16 20:59:48 浏览: 128
在C语言中比较两个字符串是否相等的方法
可以使用字符串库中的函数 `strstr` 和 `strlen`。
`strstr` 函数可以在一个字符串中查找另一个字符串,返回第一个字符串中第一次出现第二个字符串的位置指针。如果没有找到,返回 NULL。
`strlen` 函数可以计算字符串的长度。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("输入第一个字符串:");
scanf("%s", str1);
printf("输入第二个字符串:");
scanf("%s", str2);
char* p = str1;
while ((p = strstr(p, str2)) != NULL) {
int len = strlen(str2);
printf("第一个字符串中与第二个字符串相同的部分是:%.*s\n", len, p);
p += len;
}
return 0;
}
```
在上面的代码中,我们使用了一个指针 `p` 来遍历第一个字符串。每次使用 `strstr` 函数查找第二个字符串在第一个字符串中的位置,如果找到了,则输出相同的部分,并将指针 `p` 指向下一个位置。如果没有找到,则退出循环。
阅读全文