函数应该首先判断substr是否出现在str中,如果它并未出现,函数返回值为0;如果出现,函数返回值为1;用c语言 指针遍历
时间: 2024-09-24 15:18:10 浏览: 28
Mysql字符串处理函数详细介绍、总结
在C语言中,你可以使用指针来实现这样的功能。这里有一个简单的例子,它使用两个指针分别指向主字符串(str)和子字符串(substr),然后逐字符对比它们直到找到子字符串为止。如果没有找到,则返回0,找到则返回1。
```c
#include <stdbool.h>
#include <string.h>
bool findSubstring(char* str, char* substr) {
if (str == NULL || substr == NULL) {
return false; // 输入无效
}
int str_len = strlen(str);
int sub_len = strlen(substr);
// 主字符串和子字符串指针初始化
char* ptr_str = str;
char* ptr_sub = substr;
while (ptr_str < str + str_len) {
// 如果子字符串指针超过主字符串剩余部分,说明没找到
if (ptr_sub > ptr_str + sub_len - 1) {
return false;
}
// 比较当前子字符串与主字符串的一部分
if (*ptr_sub == *ptr_str) { // 相等,递增指针继续比较
ptr_sub++;
ptr_str++;
} else {
// 不相等,回退主字符串指针并从头开始比较
ptr_str -= sub_len;
}
}
// 如果我们成功遍历了整个子字符串,那么找到了
return true;
}
// 示例
int main() {
char str[] = "Hello, World!";
char substr[] = "World";
bool result = findSubstring(str, substr);
if (result) {
printf("Substring '%s' is present.\n", substr);
} else {
printf("Substring '%s' is not present.\n", substr);
}
return 0;
}
```
阅读全文