C语言.用指针实现:将字符串“C language programming”拼接到字符串“Our favorite is”的后面
时间: 2023-06-17 17:03:39 浏览: 91
可以使用指针和循环来实现字符串的拼接。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str1[] = "Our favorite is ";
char str2[] = "C language programming";
int len1 = strlen(str1);
int len2 = strlen(str2);
char *result = (char*)malloc(len1 + len2 + 1); // 加 1 是为了留出字符串末尾的空字符 '\0'
char *p = result;
// 复制字符串 str1 到 result 中
for (int i = 0; i < len1; i++) {
*p++ = str1[i];
}
// 复制字符串 str2 到 result 中
for (int i = 0; i < len2; i++) {
*p++ = str2[i];
}
*p = '\0'; // 在字符串末尾添加空字符 '\0'
printf("%s\n", result);
free(result); // 释放分配的内存空间
return 0;
}
```
输出:
```
Our favorite is C language programming
```
在上面的代码中,首先定义了两个字符串 `str1` 和 `str2`,分别表示要拼接的字符串。然后计算出两个字符串的长度,以便于后面动态分配内存空间。
接着使用 `malloc` 函数动态分配内存空间,将 `result` 指针指向这段内存空间的首地址。然后使用指针遍历两个字符串,将每个字符逐一复制到 `result` 中。
最后,在 `result` 的末尾添加空字符 `\0`,表示字符串结束。然后输出 `result`,并释放分配的内存空间。