3.用指针实现:将字符串“C language programming”拼接到字符串“Our favorite is ”的后面。
时间: 2024-04-30 17:20:50 浏览: 69
下面是用指针实现将两个字符串拼接的示例代码:
```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);
char *p = result;
while (*str1 != '\0') {
*p++ = *str1++;
}
while (*str2 != '\0') {
*p++ = *str2++;
}
*p = '\0';
printf("%s\n", result);
free(result);
return 0;
}
```
首先定义两个字符串 `str1` 和 `str2`,分别为要拼接的前缀字符串和后缀字符串。然后计算两个字符串的长度 `len1` 和 `len2`,并分配一个长度为 `len1 + len2 + 1` 的字符数组 `result`,用于存放拼接后的字符串。
接下来定义一个指针变量 `p`,并将其指向 `result` 数组的首地址。然后利用 `while` 循环将 `str1` 和 `str2` 中的字符逐个拷贝到 `result` 数组中,并将指针 `p` 后移,直到拷贝完毕。
最后在 `result` 数组的末尾加上字符串结束标志 `'\0'`,并输出拼接后的字符串。注意,在使用完 `result` 数组后,需要调用 `free()` 函数释放其所占用的内存。
阅读全文