使用指针方式实现两个字符串的连接,并将连接后的字符串输出
时间: 2023-06-14 16:02:33 浏览: 66
下面是一个使用指针方式实现字符串连接的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str1[100], str2[100], *result;
int i, j;
printf("Enter the first string: ");
fgets(str1, sizeof(str1), stdin);
printf("Enter the second string: ");
fgets(str2, sizeof(str2), stdin);
// 计算连接后字符串的长度
int len1 = strlen(str1) - 1; // 去除换行符
int len2 = strlen(str2) - 1; // 去除换行符
int len = len1 + len2;
// 为连接后的字符串动态分配内存
result = (char*)malloc(len + 1);
// 将 str1 的内容复制到 result 中
for (i = 0; i < len1; i++) {
*(result + i) = *(str1 + i);
}
// 将 str2 的内容接在 result 的后面
for (j = 0; j < len2; j++) {
*(result + i + j) = *(str2 + j);
}
// 确保连接后的字符串以 null 结尾
*(result + i + j) = '\0';
// 输出连接后的字符串
printf("The concatenated string is: %s\n", result);
// 释放动态分配的内存
free(result);
return 0;
}
```
该程序首先提示用户输入两个字符串,然后计算连接后字符串的长度,为连接后的字符串动态分配内存,将两个字符串连接起来,最后输出连接后的字符串。在这个过程中,使用了指针的方式操作字符串。