用c语言,实现函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址,并且已有char *str_cat(char *s,char *t)
时间: 2024-05-03 19:19:04 浏览: 127
以下是用C语言实现函数`str_cat`的代码:
```c
char *str_cat(char *s, char *t) {
char *p = s;
while (*p) { // 找到s字符串的末尾
p++;
}
while (*t) { // 将t字符串复制到s字符串的末尾
*p = *t;
p++;
t++;
}
*p = '\0'; // 添加字符串结尾标志
return s; // 返回s字符串的首地址
}
```
解释一下:
- 首先定义一个指针`p`,指向`s`字符串的首地址。
- 利用`while`循环找到字符串`s`的末尾,即`*p`为字符串结尾标志`\0`时停止循环。
- 然后利用另一个`while`循环将字符串`t`复制到字符串`s`的末尾,每复制一个字符就将指针`p`和`t`向后移动一位。
- 最后在字符串`s`的末尾添加字符串结尾标志`\0`。
- 返回字符串`s`的首地址。
相关问题
实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址,C语言具体实现
下面是一个简单的 C 语言实现:
```c
#include <stdio.h>
#include <string.h>
char *str_cat(char *s, char *t) {
strcat(s, t);
return s;
}
int main() {
char s[100] = "Hello, ";
char t[] = "world!";
printf("%s\n", str_cat(s, t)); // 输出:Hello, world!
return 0;
}
```
在上面的代码中,我们定义了一个 `str_cat` 函数,它接受两个参数 `s` 和 `t`,分别表示要连接的两个字符串。函数内部使用了 C 语言标准库中的 `strcat` 函数将 `t` 连接到 `s` 的末尾,然后返回 `s` 的指针,即连接后的字符串。
在 `main` 函数中,我们定义了两个字符串 `s` 和 `t`,然后调用 `str_cat` 函数将它们连接起来,并输出结果。
阅读全文