4.编写程序,不使用strcat函数实现连接两个字符串的功能。
时间: 2023-09-04 09:04:31 浏览: 147
编写函数"concat"来实现连接两个字符串的功能。该函数接受两个字符串参数和一个存储结果的字符数组。算法如下:
1. 定义函数"concat",接受两个参数"str1"和"str2",以及一个字符数组"result"。
2. 初始化两个变量,"i"表示字符数组"result"的索引,"j"表示字符串"str1"的索引。
3. 使用一个循环将字符串"str1"的字符逐个复制到字符数组"result"中,直到字符串"str1"的末尾(即遇到'\0'字符)。
4. 将"i"设置为指向字符数组"result"当前的末尾。
5. 使用另一个循环将字符串"str2"的字符逐个复制到字符数组"result"中,直到字符串"str2"的末尾(即遇到'\0'字符)。每次复制一个字符时,将"i"递增1,使其指向下一个空位置。
6. 最后,在字符数组"result"的末尾添加'\0'字符,表示字符串的结束。
下面是用C语言编写的示例代码:
```c
#include <stdio.h>
void concat(const char* str1, const char* str2, char* result) {
int i = 0, j = 0;
while (str1[j] != '\0') {
result[i] = str1[j];
i++;
j++;
}
while (str2[j-i] != '\0') {
result[i] = str2[j-i];
i++;
}
result[i] = '\0';
}
int main() {
char str1[] = "Hello ";
char str2[] = "World!";
char result[20];
concat(str1, str2, result);
printf("Concatenated string: %s\n", result);
return 0;
}
```
以上代码将输出:Concatenated string: Hello World!
阅读全文