请使用C语言分别用字符数组和字符指针做函故参数,用两种方法编程实现字符串连授函故strcat()的功能。
时间: 2024-02-20 11:59:23 浏览: 82
使用字符数组作为函数参数的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX 100
void my_strcat(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 + len2 >= MAX) {
printf("Error: String too long.\n");
return;
}
for (int i = 0; i < len2; i++) {
str1[len1 + i] = str2[i];
}
str1[len1 + len2] = '\0';
}
int main() {
char str1[MAX] = "Hello";
char str2[MAX] = " world!";
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
使用字符指针作为函数参数的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX 100
void my_strcat(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 + len2 >= MAX) {
printf("Error: String too long.\n");
return;
}
for (int i = 0; i < len2; i++) {
*(str1 + len1 + i) = *(str2 + i);
}
*(str1 + len1 + len2) = '\0';
}
int main() {
char str1[MAX] = "Hello";
char str2[MAX] = " world!";
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
以上两种实现方式的输出结果都是:
```
Hello world!
```
阅读全文