不使用字符串处理函数strcat()编程实现strcat()的功能,即任意输入两个字符串,然后连接这两个字符串,返回连接后字符串的首地址。
时间: 2023-06-05 16:47:47 浏览: 179
可以使用指针来实现字符串连接的功能,具体步骤如下:
1. 定义一个新的字符数组,用于存储连接后的字符串。
2. 使用循环将第一个字符串中的字符逐个复制到新的字符数组中。
3. 使用循环将第二个字符串中的字符逐个复制到新的字符数组中,从第一个字符串的末尾开始复制。
4. 在新的字符数组的末尾添加一个空字符'\',表示字符串的结束。
5. 返回新的字符数组的首地址。
示例代码如下:
```
#include <stdio.h>
char* my_strcat(char* dest, const char* src) {
char* p = dest;
while (*p != '\') {
p++;
}
while (*src != '\') {
*p = *src;
p++;
src++;
}
*p = '\';
return dest;
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
my_strcat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return ;
}
```
相关问题
1、编写一个程序。不使用字符串连接函数strcat,实现两个字符串的链接
在C语言中,可以使用数组和指针来实现两个字符串的连接,而不用`strcat`函数。这里提供一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void str_concat(char *dest, char *src) {
// 获取源字符串的长度
size_t src_len = strlen(src);
// 将src字符串末尾的'\0'复制到dest
memmove(dest + src_len, dest, strlen(dest)); // 移动dest的原始内容
// 添加src到dest的末尾
strcpy(dest, src);
}
int main() {
char string1[] = "Hello, ";
char string2[] = "World!";
char result[50]; // 结果数组足够大来存放两个字符串
str_concat(result, string1);
str_concat(result, string2);
printf("Concatenated string: %s\n", result); // 输出: Hello, World!
return 0;
}
```
在这个例子中,我们首先计算源字符串`src`的长度,然后移动`dest`原有的字符到新位置,腾出空间给`src`。最后,使用`strcpy`将`src`的内容复制到`dest`。
输入两个任意的字符串,编写程序实现两个字符串的链接不能使用strcat 函数
好的,我可以帮你编写这样的程序。以下是一个示例代码,可以实现两个字符串的链接操作:
```c
#include <stdio.h>
int main()
{
char str1[100], str2[100];
int i = 0, j = 0;
printf("请输入第一个字符串:\n");
gets(str1);
printf("请输入第二个字符串:\n");
gets(str2);
// 找到 str1 的末尾
while (str1[i] != '\0') {
i++;
}
// 将 str2 添加到 str1 后面
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
// 在新字符串末尾添加空字符
str1[i] = '\0';
printf("链接后的字符串为:%s\n", str1);
return 0;
}
```
在这个程序中,我们首先使用 `gets` 函数分别读取两个字符串。然后,我们使用两个 while 循环来将第二个字符串添加到第一个字符串的末尾。最后,我们在新字符串的末尾添加了一个空字符 '\0',以表示字符串的结尾。
需要注意的是,这个程序中并没有使用 `strcat` 函数,而是使用了自己编写的代码实现了字符串的链接操作。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)