#include<stdio.h> #include<string.h> int main(){ char x1[100]; char x2[100]; int i, j; int l1, l2; printf("请输入第一个字符串"); scanf("%s", x1); printf("请输入第二个字符串"); scanf("%s", x2); l1 = strlen(x1); l2 = strlen(x2); for(int i = 0; i < l1; i++){ for(int j = 0; j < l2; j++){ if(x1[i] = ) } } printf("%s", x1); }
时间: 2024-04-15 12:26:59 浏览: 43
在您的代码中,您可以使用两个循环来逐个比较字符,判断第二个字符串是否为第一个字符串的子串。以下是修改后的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char x1[100];
char x2[100];
int i, j;
int l1, l2;
printf("请输入第一个字符串:");
scanf("%s", x1);
printf("请输入第二个字符串:");
scanf("%s", x2);
l1 = strlen(x1);
l2 = strlen(x2);
for (i = 0; i <= l1 - l2; i++) {
int found = 1;
for (j = 0; j < l2; j++) {
if (x1[i + j] != x2[j]) {
found = 0;
break;
}
}
if (found) {
break;
}
}
if (j == l2) {
printf("第二个字符串是第一个字符串的子串。\n");
} else {
printf("第二个字符串不是第一个字符串的子串。\n");
}
return 0;
}
```
在这个修改后的代码中,我们先获取用户输入的两个字符串`x1`和`x2`。然后使用两个循环进行比较,外层循环用于遍历第一个字符串的每个字符,内层循环用于比较当前位置开始的字符是否与第二个字符串相同。如果找到了完全匹配的子串,则跳出循环,并输出相应的结果。
希望能帮到您!如果有任何其他问题,请随时提问。
阅读全文