请用C语言编写如下程序:利用指针实现2个字符串的连接。
时间: 2023-06-17 15:04:04 浏览: 116
下面是用指针实现两个字符串连接的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语言编写如下程序:利用指针实现从键盘输入一串字符,串,将此字符串倒置
下面是利用指针实现字符串倒置的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
char *p = str, *q = str + len - 1;
while (p < q) {
char temp = *p;
*p++ = *q;
*q-- = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("倒置后的字符串为:%s\n", str);
return 0;
}
```
在主函数中,首先定义一个字符数组 `str`,用于存放从键盘输入的字符串。然后调用 `reverse` 函数,将字符串倒置。最后输出倒置后的字符串。
在 `reverse` 函数中,首先使用 `strlen` 函数获取字符串的长度,并定义两个指针 `p` 和 `q`,分别指向字符串的首尾字符。然后使用循环,交换 `p` 和 `q` 指向的字符,直到 `p` 指向的字符超过了 `q` 指向的字符为止。
使用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!
```
阅读全文