输入字符串s1,s2,将s2连接到s1后并存放到s1中(strcat()函数)
时间: 2024-05-05 09:20:28 浏览: 19
好的,我知道你的要求了。关于你的问题,使用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!
```
希望这样解答能够帮到你。
相关问题
c语言自己编写一个函数,将字符数组s2中的全部字符连接到字符数组s1中。不用strcat函数
可以按照如下的方法自己编写一个函数,实现将字符数组s2中的全部字符连接到字符数组s1中:
```c
void my_strcat(char s1[], char s2[]) {
int i = 0, j = 0;
// 找到s1的末尾位置
while (s1[i] != '\0') {
i++;
}
// 将s2中的字符逐个复制到s1的末尾
while (s2[j] != '\0') {
s1[i] = s2[j];
i++;
j++;
}
// 将s1的末尾位置设置为'\0'
s1[i] = '\0';
}
```
这个函数的实现方法是先找到s1的末尾位置,然后逐个将s2中的字符复制到s1的末尾,直到复制完全部字符。最后再将s1的末尾位置设置为'\0',表示字符串的结束。
用返回指针类型函数实现字符串连接函数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”与它们连接起来。
注意,在使用返回指针类型函数时,我们需要手动释放动态分配的内存,以免出现内存泄漏的情况。