C语言用指针实现对给定字符串查找给定的子串并输出第一个子串所在的位置。
时间: 2024-04-30 13:18:26 浏览: 115
以下是使用指针实现的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int find_substring(char *str, char *substr) {
int len1 = strlen(str);
int len2 = strlen(substr);
int i, j;
for (i = 0; i <= len1 - len2; i++) {
for (j = 0; j < len2; j++) {
if (*(str+i+j) != *(substr+j)) {
break;
}
}
if (j == len2) {
return i;
}
}
return -1;
}
int main() {
char str[100];
char substr[100];
int pos;
printf("Enter a string: ");
scanf("%s", str);
printf("Enter a substring to find: ");
scanf("%s", substr);
pos = find_substring(str, substr);
if (pos == -1) {
printf("Substring not found in the given string.\n");
} else {
printf("Substring found at position %d in the given string.\n", pos);
}
return 0;
}
```
这段代码中,`find_substring` 函数接受两个指向字符数组的指针,分别表示要查找的字符串和子串。函数使用两个循环来查找子串在字符串中的位置,最终返回子串在字符串中第一次出现的位置,如果没有找到则返回 -1。
在 `main` 函数中,我们通过 `scanf` 函数获取要查找的字符串和子串,然后调用 `find_substring` 函数来查找子串在字符串中的位置,最后输出结果。
阅读全文
相关推荐


















