用c语言指针实现:将字符串“C language programming拼接到字符串“Our favorite is”的后面。
时间: 2024-04-30 09:20:50 浏览: 95
可以使用指针和循环来实现字符串的拼接。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Our favorite is ";
char str2[] = "C language programming";
char *p1 = str1;
char *p2 = str2;
int len1 = strlen(str1);
int len2 = strlen(str2);
// 将指针移动到str1的末尾
p1 += len1;
// 循环将str2中的字符拼接到str1中
while (*p2 != '\0') {
*p1 = *p2;
p1++;
p2++;
}
// 在拼接后的字符串末尾添加'\0'
*p1 = '\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`,并释放分配的内存空间。
用C语言编码实现:用指针实现:将字符串" C language programming "拼接到字符串" Our favorite is "的后面。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Our favorite is ";
char str2[] = "C language programming";
char *ptr1 = str1 + strlen(str1);
char *ptr2 = str2;
while (*ptr2 != '\0') {
*ptr1++ = *ptr2++;
}
*ptr1 = '\0';
printf("%s\n", str1);
return 0;
}
```
输出结果:
```
Our favorite is C language programming
```
阅读全文