设s。1为两个字符串,两个字符串分为两行输出,判断t是否为;的子串,如果是,输出子串所在位置(第一个字符,字符串的起始位置从0开始),否则输出1 《骗入形式】两行李符串,第一行字符串层3;第二行是字用c语言
时间: 2024-10-25 11:11:31 浏览: 8
在C语言中,你可以通过遍历第一个字符串`s`来检查字符串`t`是否是它的子串,并找出子串的位置。下面是一个简单的示例函数,它会完成这个任务:
```c
#include <stdio.h>
#include <string.h>
void find_substring(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 遍历str1,查找str2作为子串的起始位置
for (int i = 0; i <= len1 - len2; i++) {
int match = 1;
// 如果str1的子串与str2完全匹配,记录位置
for (int j = 0; j < len2; j++) {
if (str1[i + j] != str2[j]) {
match = 0; // 子串不匹配,跳出循环
break;
}
}
if (match) {
printf("子串 '%s' 发现于位置 %d-%d\n", str2, i, i+len2-1);
return; // 找到子串就直接返回
}
}
printf("子串 '%s' 未找到\n", str2);
}
int main() {
char s[] = "这是一个示例字符串"; // 第一行字符串
char t[] = "子串"; // 要查找的子串
find_substring(s, t);
return 0;
}
```
这个程序首先计算出两个字符串的长度,然后逐个检查`s`中的每个可能位置是否包含完整的`t`。如果找到匹配,则打印子串的位置并结束搜索。如果没有找到,最后将输出"子串 't' 未找到"。
阅读全文