利用指针判断一个字符串中是否包含另外一个字符串
时间: 2024-05-09 22:21:18 浏览: 11
以下是一个例子:
```c
#include <stdio.h>
#include <string.h>
int isSubstring(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 < len2) {
return 0; // 如果str1的长度小于str2的长度,则str1不可能包含str2
}
char* p1 = str1;
char* p2 = str2;
while (*p1 != '\0' && *p2 != '\0') {
if (*p1 == *p2) {
p1++;
p2++;
} else {
p1 = p1 - (p2 - str2) + 1; // 回溯
p2 = str2;
}
}
return (*p2 == '\0');
}
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
if (isSubstring(str1, str2)) {
printf("%s is a substring of %s\n", str2, str1);
} else {
printf("%s is not a substring of %s\n", str2, str1);
}
return 0;
}
```
输出:
```
World is a substring of Hello, World!
```