3.用指针实现:将字符串“C language programming'拼接到字符串“Our favorite is"的后面。
时间: 2024-05-16 10:15:05 浏览: 15
下面是用指针实现将字符串拼接的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Our favorite is ";
char str2[] = "C language programming";
char *p = str1 + strlen(str1); // 指向 str1 的末尾
// 将 str2 拼接到 str1 的末尾
while (*str2 != '\0') {
*p++ = *str2++;
}
*p = '\0'; // 在末尾添加字符串结束标志
printf("%s\n", str1); // 输出拼接后的字符串
return 0;
}
```
输出结果为:
```
Our favorite is C language programming
```
相关问题
C语言.用指针实现:将字符串“C language programming”拼接到字符串“Our favorite is”的后面
可以使用指针和循环来实现字符串的拼接。具体实现如下:
```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`,并释放分配的内存空间。
3.用指针实现:将字符串“C language programming”拼接到字符串“Our favorite is ”的后面。
下面是用指针实现将两个字符串拼接的示例代码:
```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()` 函数释放其所占用的内存。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)