编写一函数 将字符串2连接到字符串一后面 不能使用strcat函数
时间: 2023-07-16 10:11:44 浏览: 98
可以使用以下函数实现字符串拼接:
```c
void my_strcat(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len2; i++) {
str1[len1 + i] = str2[i];
}
str1[len1 + len2] = '\0';
}
```
该函数先计算出字符串1和字符串2的长度,然后将字符串2的每个字符逐一拼接到字符串1的末尾,最后在字符串1的末尾添加一个空字符,表示字符串结束。
相关问题
编写一函数 将字符串2连接到字符串一后面 不能使用strcat函数 函数首部为void_cat
以下是一种实现方式:
```c
void void_cat(char *str1, char *str2) {
// 找到字符串1的末尾位置
while (*str1 != '\0') {
str1++;
}
// 将字符串2复制到字符串1的末尾
while (*str2 != '\0') {
*str1 = *str2;
str1++;
str2++;
}
// 结束字符串1
*str1 = '\0';
}
```
这个函数先找到字符串1的末尾位置,然后将字符串2复制到字符串1的末尾。最后,它在字符串1的末尾添加一个空字符来结束字符串。
编写一函数 将字符串2连接到字符串一后面 不能使用strcat函数 函数首部为void_cat(char str1[] char str 2[]
下面是一个实现将字符串2连接到字符串1后面的函数,不使用strcat函数:
```
void cat(char str1[], char str2[]) {
int i = 0, j = 0;
while (str1[i] != '\0') {
i++;
}
while (str2[j] != '\0') {
str1[i++] = str2[j++];
}
str1[i] = '\0';
}
```
这个函数首先找到字符串1的结尾,然后将字符串2中的每个字符复制到字符串1的结尾处,直到遇到字符串2的结尾符'\0'。最后,将字符串1的新结尾也设置为'\0'。
阅读全文