用c语言编写自定义函数完成两个字符串的连接功能,要求自定义函数形参采用指针
时间: 2024-03-13 22:47:01 浏览: 18
好的,我可以为您编写这个函数。以下是一个示例函数:
```c
#include <stdio.h>
#include <string.h>
void string_concat(char *str1, char *str2) {
strcat(str1, str2);
}
int main() {
char str1[50] = "Hello";
char str2[50] = " world!";
string_concat(str1, str2);
printf("%s", str1);
return 0;
}
```
这个函数的作用是将 `str2` 连接到 `str1` 的末尾。函数的形参 `str1` 和 `str2` 都是指针类型,因此直接在函数内部对它们进行操作即可。函数调用后,`str1` 的值将被修改为连接后的字符串。
在上面的示例中,我们使用了 C 标准库中的 `strcat()` 函数来完成字符串连接。`strcat()` 函数可以将一个字符串连接到另一个字符串的末尾。
相关问题
用c语言编写自定义函数完成两个字符串的连接功能,要求自定义函数形参采用指针。
好的,以下是一份用 C 语言编写自定义函数实现字符串连接的代码示例:
```c
#include <stdio.h>
#include <string.h>
void str_cat(char *str1, char *str2)
{
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j;
for (i = len1, j = 0; j < len2; i++, j++) {
str1[i] = str2[j];
}
str1[i] = '\0';
}
int main()
{
char str1[100] = "Hello, ";
char str2[] = "world!";
str_cat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
在这个代码中,我们定义了一个自定义函数 `str_cat`,该函数接收两个字符串指针作为参数。函数内部首先计算两个字符串的长度,然后使用一个循环将第二个字符串中的字符逐一拷贝到第一个字符串的末尾,并在最后加上一个 NULL 字符来表示字符串的结束。
在 `main` 函数中,我们声明两个字符串变量 `str1` 和 `str2`,并初始化 `str1` 为 `"Hello, "`,`str2` 为 `"world!"`。然后我们调用 `str_cat` 函数将 `str2` 连接到 `str1` 的末尾,最后输出连接后的结果。
c语言编写自定义函数完成两个字符串的连接功能,要求自定义函数形参采用指针。
好的,下面是另外一份示例代码:
```c
#include <stdio.h>
#include <string.h>
void str_concat(char *s1, char *s2, char *result) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int i, j;
// 将s1中的字符复制到result中
for (i = 0; i < len1; i++) {
result[i] = s1[i];
}
// 将s2中的字符复制到result中
for (j = 0; j < len2; j++) {
result[i+j] = s2[j];
}
// 在result最后一个字符后添加'\0'
result[i+j] = '\0';
}
int main() {
char s1[20] = "hello, ";
char s2[20] = "world!";
char result[40];
str_concat(s1, s2, result);
printf("%s\n", result);
return 0;
}
```
以上代码中,自定义函数 `str_concat` 接收三个参数:`char *s1`,`char *s2` 和 `char *result`,分别表示需要连接的两个字符串和连接后的结果字符串。函数通过指针的方式操作字符串,首先获取 `s1` 和 `s2` 的长度,然后将 `s1` 和 `s2` 中的字符复制到 `result` 中,并在结尾处添加了 `\0`。在主函数中,我们声明了需要拼接的两个字符串 `s1` 和 `s2`,并声明了一个足够大的字符数组 `result` 存储拼接后的结果。最后调用 `str_concat` 函数将两个字符串拼接到 `result` 中,并输出结果。