编写一个函数void concat(String str1[ ],String str2[ ],String s[ ]);作用是将字符串str1和字符串str2连接起来保存到字符串s中。在主函数中调用concat函数。
时间: 2023-05-28 14:03:21 浏览: 172
以下是C++代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void concat(char str1[], char str2[], char s[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len1; i++) {
s[i] = str1[i];
}
for (int i = 0; i < len2; i++) {
s[len1 + i] = str2[i];
}
s[len1 + len2] = '\0';
}
int main() {
char str1[100], str2[100], s[200];
cout << "请输入字符串1:";
cin >> str1;
cout << "请输入字符串2:";
cin >> str2;
concat(str1, str2, s);
cout << "连接后的字符串为:" << s << endl;
return 0;
}
```
注意事项:
1. 函数参数为char类型的数组,因为字符串本质上是char类型的数组;
2. 在连接字符串时,需要先计算出两个字符串的长度,然后逐个复制到目标字符串中;
3. 最后需要在目标字符串的末尾添加一个'\0'表示字符串的结束。
相关问题
编写一个程序将两个字符串连接起来,不用strcat函数
好的,以下是一个示例程序,可以将两个字符串连接起来:
```c
#include <stdio.h>
void string_concat(char s1[], char s2[]) {
int i, j;
for(i = 0; s1[i] != '\0'; i++);
for(j = 0; s2[j] != '\0'; j++) {
s1[i + j] = s2[j];
}
s1[i + j] = '\0';
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
string_concat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
这个程序中,我们定义了一个 `string_concat` 函数,用来实现字符串的连接。该函数接受两个字符串作为参数,将第二个字符串连接到第一个字符串的末尾。具体实现可以分为以下几个步骤:
1. 定义两个变量 `i` 和 `j`,分别用于遍历第一个字符串和第二个字符串。
2. 遍历第一个字符串,直到找到字符串末尾的空字符 `\0`。
3. 遍历第二个字符串,将每个字符逐一复制到第一个字符串的末尾。
4. 在第一个字符串的末尾添加一个空字符 `\0`,表示字符串的结束。
在主函数中,我们通过调用 `string_concat` 函数将两个输入的字符串连接起来,并输出结果。
编写程序,数组名作为函数参数实现将任意两个字符串连接成一个字符串
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
void concat(char str1[], char str2[], char result[]) {
int i, j;
// 将第一个字符串复制到结果字符串中
for (i = 0; str1[i] != '\0'; i++) {
result[i] = str1[i];
}
// 将第二个字符串复制到结果字符串中
for (j = 0; str2[j] != '\0'; j++) {
result[i + j] = str2[j];
}
// 在结果字符串的末尾添加结束符
result[i + j] = '\0';
}
int main() {
char str1[100], str2[100], result[200];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
concat(str1, str2, result);
printf("连接后的字符串为:%s\n", result);
return 0;
}
```
在这个程序中,我们定义了一个 `concat` 函数,它接受三个参数:两个字符串和一个结果字符串。函数的作用是将两个字符串连接成一个字符串,并将结果存储在结果字符串中。
在 `main` 函数中,我们首先读取两个字符串,然后调用 `concat` 函数将它们连接起来,并将结果打印出来。
注意,在 `concat` 函数中,我们使用了两个循环来复制字符串。第一个循环将第一个字符串复制到结果字符串中,第二个循环将第二个字符串复制到结果字符串中。我们还在结果字符串的末尾添加了一个结束符,以确保它是一个有效的 C 字符串。