编写一个程序,将两个字符串连接,并输出连接后的结果。(要 求:将第二个字符串连入第一个字符串,不要用strcat函数)
时间: 2023-06-11 07:06:40 浏览: 47
下面是一个示例代码,演示如何将第二个字符串连接到第一个字符串中:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str1[20] = "Hello, ";
char str2[20] = "world!";
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len2; ++i) {
str1[len1 + i] = str2[i];
}
str1[len1 + len2] = '\0';
cout << str1 << endl;
return 0;
}
```
在这个程序中,我们先定义了两个字符串 `str1` 和 `str2`,然后使用 `strlen` 函数分别求出它们的长度。接下来,我们使用一个 `for` 循环将 `str2` 中的字符逐个复制到 `str1` 的末尾,并在最后加上一个空字符,表示字符串的结束。
最终,我们使用 `cout` 输出连接后的字符串 `str1`。
相关问题
用c语言编写一个程序,将两个字符串连接,并输出连接后的结果。(要求:将第二个字符串连入第一个字符串,不要用strcat函数)
好的,下面是C语言代码示例:
```
#include<stdio.h>
#include<string.h>
int main() {
char str1[100], str2[50];
int i, j;
printf("请输入第一个字符串: ");
scanf("%s", str1);
printf("请输入第二个字符串: ");
scanf("%s", str2);
// 连接两个字符串
for(i = 0; str1[i] != '\0'; i++);
for(j = 0; str2[j] != '\0'; j++, i++) {
str1[i] = str2[j];
}
str1[i] = '\0';
printf("连接后的字符串为: %s\n", str1);
return 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` 函数将两个输入的字符串连接起来,并输出结果。