仿写strcat函数,实现类似的功能,并在main函数中测试(用适合初学者的c语言实现且不能使用指针)
时间: 2024-04-30 08:20:40 浏览: 13
以下是使用数组实现的strcat函数:
```c
#include <stdio.h>
#include <string.h>
void my_strcat(char dest[], char src[]) {
int dest_len = strlen(dest);
int i;
for (i = 0; src[i] != '\0'; i++) {
dest[dest_len + i] = src[i];
}
dest[dest_len + i] = '\0';
}
int main() {
char dest[20] = "Hello, ";
char src[] = "world!";
my_strcat(dest, src);
printf("%s\n", dest);
return 0;
}
```
输出结果为:Hello, world!
相关问题
用c语言指针函数实现strcat功能
可以使用以下代码实现:
```
char* my_strcat(char* dest, const char* src) {
char* p = dest;
while (*p) {
p++;
}
while (*src) {
*p++ = *src++;
}
*p = '\0';
return dest;
}
```
这个函数的作用是将字符串src拼接到字符串dest的末尾,并返回拼接后的字符串dest。
编写一个类似库函数strcat()的函数,函数中使用指针,实现两个字符串的连接,并在main()函数中验证该自定义函数的功能。请用C语言回答。
可以使用下面的代码实现:
```
#include <stdio.h>
char *my_strcat(char *dest, const char *src)
{
char *p = dest;
while (*p != '\0') {
p++;
}
while (*src != '\0') {
*p = *src;
p++;
src++;
}
*p = '\0';
return dest;
}
int main()
{
char str1[20] = "Hello, ";
char str2[] = "world!";
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
在函数中,使用指针变量遍历目标字符串,找到其末尾的位置,然后使用另一个指针变量遍历源字符串,将源字符串的字符逐个拷贝到目标字符串的末尾。最后在目标字符串的末尾添加一个字符串结束符`\0`。
在主函数中,定义两个字符串,调用自定义函数将它们连接起来,然后输出结果。