c语言:编写自定义函数把一个字符串连接到另一个字符串的尾部(都不超80字符)。主函数输入两个字符串,输出连接后的新串。
时间: 2023-11-28 08:49:05 浏览: 322
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
void connect(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 + len2 < MAX_LEN) {
strcat(str1, str2);
} else {
printf("Error: String length exceeds the limit!\n");
}
}
int main() {
char str1[MAX_LEN], str2[MAX_LEN];
printf("Input the first string (no more than %d characters):\n", MAX_LEN);
fgets(str1, MAX_LEN, stdin);
str1[strlen(str1) - 1] = '\0'; // remove the '\n' character at the end of the input
printf("Input the second string (no more than %d characters):\n", MAX_LEN);
fgets(str2, MAX_LEN, stdin);
str2[strlen(str2) - 1] = '\0'; // remove the '\n' character at the end of the input
printf("Before connection: %s\n", str1);
printf("After connection: ");
connect(str1, str2);
printf("%s\n", str1);
return 0;
}
```
在这个示例代码中,我们定义了一个名为 `connect` 的自定义函数,它接收两个字符串指针参数 `str1` 和 `str2`,并将 `str2` 连接到 `str1` 的尾部。我们使用 `strcat` 函数来实现字符串连接操作。
在主函数中,我们首先使用 `fgets` 函数从标准输入中读取两个字符串,并将它们存储在 `str1` 和 `str2` 中。然后,我们调用 `connect` 函数来连接这两个字符串,并输出连接后的结果。
请注意,我们在输入字符串时使用了 `fgets` 函数而不是 `scanf` 函数,因为 `fgets` 可以避免输入缓冲区溢出的问题。此外,我们使用 `strlen` 函数来获取字符串的长度,并在连接字符串之前检查它们的总长度是否超过了限制。如果超过了限制,我们将输出错误信息并不执行连接操作。
阅读全文