有两个字符串str1和str2,它们的长度都不超过100个字符。请使用C语言实现在str1中查找str2的初始位置。
时间: 2023-06-10 21:05:07 浏览: 67
可以使用strstr函数来实现在str1中查找str2的初始位置。这个函数需要在头文件<string.h>中引用,然后使用如下代码:
char* result;
result = strstr(str1, str2);
if (result != NULL) {
printf("str2 is found at position %ld in str1.\n", result - str1);
} else {
printf("str2 is not found in str1.\n");
}
注意:如果在str1中找不到str2,strstr函数会返回NULL。因此需要在判断result是否为NULL之后再进行后续操作。
相关问题
有两个字符串str1和str2,它们的长度都不超过100个字符。请C语言编程实现在str1中查找str2的初始位置。
```
#include <stdio.h>
#include <string.h>
int main()
{
char str1[101], str2[101];
int len1, len2, i, j, flag;
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
len1 = strlen(str1);
len2 = strlen(str2);
for (i = 0; i <= len1 - len2; i++)
{
flag = 1;
for (j = 0; j < len2; j++)
{
if (str1[i + j] != str2[j])
{
flag = 0;
break;
}
}
if (flag)
{
printf("字符串2在字符串1中的初始位置为:%d\n", i);
return 0;
}
}
printf("字符串2不在字符串1中。\n");
return 0;
}
```
c语言输入两个字符串str1和str2,将字符串str2倒置后接在字符串str1后面。
可以使用C语言的字符串函数来实现这个问题,具体步骤如下:
1. 使用`gets()`函数分别输入两个字符串`str1`和`str2`。
2. 使用`strlen()`函数获取字符串`str2`的长度。
3. 使用循环将字符串`str2`倒置。
4. 使用`strcat()`函数将倒置后的字符串`str2`和字符串`str1`连接起来。
5. 输出连接后的字符串`str1`。
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100];
int len, i;
// 输入两个字符串
printf("请输入两个字符串:\n");
gets(str1);
gets(str2);
// 获取字符串str2的长度
len = strlen(str2);
// 将字符串str2倒置
for (i = 0; i < len / 2; i++) {
char temp = str2[i];
str2[i] = str2[len - i - 1];
str2[len - i - 1] = temp;
}
// 将倒置后的字符串str2和字符串str1连接起来
strcat(str1, str2);
// 输出连接后的字符串str1
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
阅读全文