C语言利用指针实现2个字符串的连接(相当于实现函数strcat的功能)
时间: 2024-05-10 21:16:04 浏览: 126
可以通过指针操作来实现两个字符串的连接,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
void mystrcat(char *s1, char *s2) {
// 将指针移到s1的末尾
while(*s1) {
s1++;
}
// 将s2的内容复制到s1的末尾
while(*s2) {
*s1 = *s2;
s1++;
s2++;
}
// 添加字符串结尾标志
*s1 = '\0';
}
int main() {
char s1[100] = "Hello, ";
char s2[] = "world!";
mystrcat(s1, s2);
printf("%s\n", s1);
return 0;
}
```
运行结果:
```
Hello, world!
```
在上面的代码中,首先定义了一个名为`mystrcat`的函数,该函数接受两个参数,即`s1`和`s2`,分别表示需要连接的两个字符串。然后,通过指针操作将指针移到`s1`的末尾,接着将`s2`的内容复制到`s1`的末尾,并最终添加字符串结尾标志,从而实现了两个字符串的连接。在`main`函数中,调用`mystrcat`函数,并将连接后的字符串输出到屏幕上。
相关问题
c语言利用指针实现 2 个字符串的连接。
可以使用指针来实现字符串的连接,具体实现方法如下:
```c
#include <stdio.h>
#include <string.h>
void my_strcat(char *s1, char *s2)
{
while (*s1) { // 找到 s1 的结尾
s1++;
}
while (*s2) { // 把 s2 中的字符逐个拷贝到 s1 的结尾
*s1++ = *s2++;
}
*s1 = '\0'; // 在 s1 的结尾添加一个字符串结束标志
}
int main()
{
char s1[100] = "Hello, ";
char s2[] = "world!";
my_strcat(s1, s2);
printf("%s\n", s1); // 输出 "Hello, world!"
return 0;
}
```
这里定义了一个 `my_strcat` 函数,它的参数是两个字符指针 `s1` 和 `s2`,分别表示要连接的两个字符串。首先,使用一个 `while` 循环找到 `s1` 的结尾,然后再使用另一个 `while` 循环将 `s2` 中的字符逐个拷贝到 `s1` 的结尾,最后在 `s1` 的结尾添加一个字符串结束标志 `\0`。
不要使用strcat函数编程实现字符串连接函数strcat的功能,将字符串srcstr连接到字符串dststr的尾部。 C语言代码
可以使用指针来实现字符串连接函数strcat的功能,具体实现如下:
```c
void my_strcat(char *dststr, char *srcstr) {
while (*dststr) {
dststr++;
}
while (*srcstr) {
*dststr++ = *srcstr++;
}
*dststr = '\0';
}
```
其中,第一个while循环用来找到dststr字符串的末尾,第二个while循环用来将srcstr字符串逐个字符复制到dststr字符串的末尾。最后,在dststr字符串的末尾添加一个空字符'\0',表示字符串的结束。
阅读全文