编写程序,实现两个字符串连接,不要用strcat函数。
时间: 2023-06-06 11:04:54 浏览: 104
可以使用字符串指针来实现两个字符串的连接,具体代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str1[50] = "Hello ";
char str2[50] = "world!";
char *p1 = str1 + strlen(str1);
char *p2 = str2;
while(*p2 != '\0')
{
*p1++ = *p2++;
}
*p1 = '\0';
cout << "连接后的字符串为:" << str1 << endl;
return 0;
}
```
输出结果为:
```
连接后的字符串为:Hello world!
```
相关问题
c语言编写程序实现两个字符串相连接,不用strcat函数
,该怎么做?
可以通过以下步骤实现两个字符串相连接:
1. 创建一个新的字符数组,用于存储连接后的字符串。
2. 使用循环将第一个字符串中的字符逐个复制到新的字符数组中。
3. 使用另一个循环将第二个字符串中的字符逐个复制到新的字符数组中,从第一个字符串的末尾开始。
4. 在新的字符数组的末尾添加一个空字符 '\0',以表示字符串的结束。
以下是可以实现上述步骤的C语言代码示例:
```c
#include <stdio.h>
void stringConcat(char str1[], char str2[], char newStr[])
{
int i, j;
// 复制第一个字符串
for(i=0; str1[i]!='\0'; i++)
{
newStr[i] = str1[i];
}
// 复制第二个字符串
for(j=0; str2[j]!='\0'; j++)
{
newStr[i+j] = str2[j];
}
// 添加结束符
newStr[i+j] = '\0';
}
int main()
{
char str1[50] = "Hello";
char str2[25] = "World";
char newStr[75];
// 连接两个字符串
stringConcat(str1, str2, newStr);
printf("连接后的字符串为: %s", newStr);
return 0;
}
```
请注意,上述代码仅适用于两个字符串的连接。如果需要连接多个字符串,则需要进行更复杂的操作。
编写程序,实现两个字符串的连接,不用strcat函数
好的,可以使用以下代码来实现两个字符串的连接:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50];
printf("Enter the first string: ");
scanf("%s", str1);
printf("Enter the second string: ");
scanf("%s", str2);
int i, j;
for(i = 0; str1[i] != '\0'; ++i);
for(j = 0; str2[j] != '\0'; ++j, ++i) {
str1[i] = str2[j];
}
str1[i] = '\0';
printf("Concatenated string: %s", str1);
return 0;
}
```
在上述代码中,我们使用了两个 for 循环,第一个循环计算第一个字符串的长度,第二个循环将第二个字符串连接到第一个字符串的末尾。最后,我们将字符串的末尾设置为 null 终止符。