输入字符串s1,s2,将s2连接到s1后并存放到s1中(strcat()函数)
时间: 2024-05-05 16:20:28 浏览: 193
好的,我知道你的要求了。关于你的问题,使用C语言中的strcat()函数可以实现字符串的连接。strcat()函数的原型如下:
```
char *strcat(char *dest, const char *src);
```
其中,dest表示目标字符串,src表示要连接的字符串。使用该函数将src连接到dest后,结果会存储在dest中。具体操作方法如下:
```c
char s1[20] = "Hello ";
char s2[] = "world!";
strcat(s1, s2);
printf("%s", s1);
```
结果输出为:
```
Hello world!
```
希望这样解答能够帮到你。
相关问题
用返回指针类型函数实现字符串连接函数strcat(),通过 ⑴输入字符串s1和s2进行测试。 ⑵将字符串“string”作为参数与s1和s2的连接后的结果调用函数strcat()实现连接。
好的,我可以帮你解决这个问题。以下是用返回指针类型函数实现字符串连接函数strcat()的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* strcat(char* s1, char* s2) {
char* res = new char[strlen(s1) + strlen(s2) + 1];
strcpy(res, s1);
strcat(res, s2);
return res;
}
int main() {
char s1[100] = "hello, ";
char s2[100] = "world!";
char* res = strcat(s1, s2);
cout << "s1 + s2 = " << res << endl;
delete[] res;
char* s3 = "string";
res = strcat(s1, s3);
cout << "s1 + s2 + s3 = " << res << endl;
delete[] res;
return 0;
}
```
在上面的代码中,我们首先定义了一个名为strcat的函数,它接受两个char类型的指针参数,即s1和s2,用于表示要连接的两个字符串。该函数首先动态分配一段内存,用于存放连接后的字符串。
然后,我们使用strcpy函数将s1的内容复制到结果字符串中,接着使用strcat函数将s2的内容附加到结果字符串的末尾。
最后,我们返回结果字符串的指针。
在main函数中,我们使用两个字符串s1和s2进行测试,先将它们连接起来,然后再将字符串“string”与它们连接起来。
注意,在使用返回指针类型函数时,我们需要手动释放动态分配的内存,以免出现内存泄漏的情况。
用C语言用返回指针类型函数实现字符串连接函数strcat(),通过 ⑴输入字符串s1和s2进行测试。 ⑵将字符串“string”作为参数与s1和s2的连接后的结果调用函数strcat()实现连接。
好的,可以通过以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* my_strcat(char* s1, char* s2) {
int len1 = strlen(s1);
int len2 = strlen(s2);
char* result = (char*)malloc(len1+len2+1); // 分配内存
strcpy(result, s1); // 复制s1
strcpy(result+len1, s2); // 复制s2
return result;
}
int main() {
char s1[20] = "Hello";
char s2[20] = "world";
char* result = my_strcat(s1, s2);
printf("%s\n", result); // 输出"Helloworld"
free(result); // 释放内存
result = my_strcat(s1, "string");
printf("%s\n", result); // 输出"Helloworldstring"
free(result); // 释放内存
return 0;
}
```
在my_strcat函数中,我们首先获取s1和s2的长度,然后分配内存空间,将s1和s2复制到结果字符串中,最后返回指向结果字符串的指针。在主函数中,我们测试了两种情况:先将s1和s2连接,再将"string"与连接结果连接。需要注意的是,分配的内存空间需要使用free函数进行释放。
阅读全文