admin 管理员组

文章数量: 887021


2024年1月18日发(作者:dt代表什么)

以下是一个简单的C语言函数,用于在一个字符串中查找另一个字符串的子串。这个函数使用了一个基本的暴力搜索方法,通过比较目标字符串中的每个字符来查找子串。

#include

#include

// 函数原型声明

int findSubstring(char* str, char* sub);

int main() {

char str[100];

char sub[100];

printf("输入主字符串: ");

fgets(str, sizeof(str), stdin); // 从用户输入读取字符串

str[strcspn(str, "n")] = 0; // 删除末尾的换行符

printf("输入要查找的子字符串: ");

fgets(sub, sizeof(sub), stdin); // 从用户输入读取字符串

sub[strcspn(sub, "n")] = 0; // 删除末尾的换行符

int result = findSubstring(str, sub);

if (result == -1) {

printf("未找到子字符串.n");

} else {

printf("子字符串在主字符串的第 %d 个位置找到.n", result);

}

return 0;

}

// 在主字符串中查找子字符串

int findSubstring(char* str, char* sub) {

int len_str = strlen(str);

int len_sub = strlen(sub);

int i, j;

for (i = 0; i <= len_str - len_sub; i++) {

j = 0;

while (j < len_sub && str[i + j] == sub[j]) {

j++;

}

if (j == len_sub) return i; // 如果找到了子字符串,返回它在主字符串中的位置

}

return -1; // 如果找不到子字符串,返回-1

}

这个函数首先会获取两个字符串,然后它会遍历主字符串,并在每个位置检查是否可以找到

子字符串。如果找到了子字符串,函数将返回它在主字符串中的位置。如果找不到,函数将返回-1。


本文标签: 字符串 函数 返回 查找 基本