编写程序,利用指针实现2个字符串的连接。
时间: 2024-05-04 07:22:42 浏览: 12
好的,我可以帮忙回答这个问题。要实现2个字符串的连接,可以先定义一个足够大的字符数组,然后利用指针把2个字符串依次复制到这个数组中,并在最后添加一个结束符 '\0'。具体的代码实现可以参考以下示例:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str1[50] = "Hello, ";
char str2[] = "world!";
char *p = str1 + strlen(str1); // 指向 str1 的结尾位置
while (*str2 != '\0') {
*p++ = *str2++; // 复制 str2 中的字符到 str1 的结尾
}
*p = '\0'; // 在结尾添加一个结束符
printf("%s", str1); // 输出连接后的字符串
return 0;
}
```
相关问题
请用C语言编写如下程序:利用指针实现2个字符串的连接。
下面是用指针实现两个字符串连接的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void string_concat(char *dest, char *src)
{
// 移动指针到目标字符串末尾
while (*dest != '\0') {
dest++;
}
// 拷贝源字符串到目标字符串末尾
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
// 添加字符串结束符
*dest = '\0';
}
int main()
{
char str1[100] = "Hello";
char str2[100] = " World!";
string_concat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
这个程序的主要思路是利用指针移动的特性,将源字符串的内容拷贝到目标字符串的末尾,并在末尾添加字符串结束符。在主函数中,我们定义了两个字符串 `str1` 和 `str2`,将它们传入 `string_concat` 函数中进行连接。最终,程序输出的结果为 `Hello World!`。
使用c语言5.编写程序,利用指针实现2个字符串的连接
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], *p1, *p2;
printf("Enter string 1: ");
fgets(str1, 100, stdin);
printf("Enter string 2: ");
fgets(str2, 100, stdin);
// remove newline characters
str1[strcspn(str1, "\n")] = '\0';
str2[strcspn(str2, "\n")] = '\0';
p1 = str1;
p2 = str2;
while (*p1 != '\0') {
p1++;
}
while (*p2 != '\0') {
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
printf("Result: %s\n", str1);
return 0;
}
```
输入示例:
```
Enter string 1: Hello
Enter string 2: World!
```
输出示例:
```
Result: HelloWorld!
```