设计函数将s2中的字符串连接到c中的字符串 之后存入s3中 返回连接后字符串的长度 在主函数中调用函数验证函数的正确性
时间: 2024-12-13 21:19:38 浏览: 35
设计一个函数,可以将两个字符数组 `c` 和 `s2` 中的字符串连接起来,并将结果存储到第三个字符数组 `s3` 中。然后返回连接后的字符串长度。这里假设 `c` 和 `s2` 分别以空字符 '\0' 结束,而 `s3` 的空间足够大来容纳连接后的字符串。
```cpp
#include <stdio.h>
#include <string.h>
size_t concatenate(char* s3, const char* c, const char* s2) {
// 检查输入是否为空
if (c == NULL || s2 == NULL) {
return 0;
}
// 将c复制到s3
strcpy(s3, c);
// 连接s2到s3的末尾
strcat(s3, s2);
// 返回连接后的字符串长度(包括结束符)
return strlen(s3);
}
int main() {
char s1[] = "Hello, ";
char s2[] = "world!";
char s3[50]; // 假设s3有足够的空间
size_t length = concatenate(s3, s1, s2);
printf("The concatenated string is \"%s\" and its length is %zu.\n", s3, length);
// 验证函数正确性
if (length == sizeof(s3) - 1) { // 减一是因为字符串结束符 '\0'
printf("Function test passed.\n");
} else {
printf("Function test failed.\n");
}
return 0;
}
```
在这个示例中,`concatenate` 函数接收三个参数:目标字符串 `s3`、第一个字符串 `c` 和第二个字符串 `s2`。它首先检查输入的有效性,然后使用 `strcpy` 和 `strcat` 函数将两个字符串连接起来,并计算最终字符串的长度。在主函数中,我们创建了两个字符串并调用了这个函数,然后检查结果是否符合预期。
阅读全文
相关推荐


















