推荐答案
// www.javascriptcn.com code example
#include <stdio.h>
#include <string.h>
int main() {
char dest[50] = "Hello, ";
char src[] = "World!";
strcat(dest, src);
printf("Concatenated string: %s\n", dest);
return 0;
}本题详细解读
函数原型
char *strcat(char *dest, const char *src);
功能描述
strcat 函数用于将源字符串 src 追加到目标字符串 dest 的末尾。目标字符串 dest 必须足够大,以容纳追加后的结果字符串,包括终止的空字符 \0。
参数说明
dest: 目标字符串,必须是一个足够大的字符数组,用于存储追加后的结果。src: 源字符串,将被追加到dest的末尾。
返回值
strcat 函数返回指向目标字符串 dest 的指针。
注意事项
- 缓冲区溢出: 如果
dest的空间不足以容纳追加后的字符串,可能会导致缓冲区溢出,从而引发未定义行为。 - 目标字符串必须以
\0结尾:dest必须是一个以\0结尾的字符串,否则strcat无法正确找到字符串的末尾。 - 源字符串必须以
\0结尾:src也必须是一个以\0结尾的字符串,否则strcat无法正确识别字符串的结束。
示例代码解析
// www.javascriptcn.com code example
#include <stdio.h>
#include <string.h>
int main() {
char dest[50] = "Hello, "; // 目标字符串,初始化为 "Hello, "
char src[] = "World!"; // 源字符串,内容为 "World!"
strcat(dest, src); // 将 src 追加到 dest 的末尾
printf("Concatenated string: %s\n", dest); // 输出结果字符串
return 0;
}在这个示例中,dest 初始化为 "Hello, ",src 为 "World!"。调用 strcat(dest, src) 后,dest 变为 "Hello, World!"。最后,程序输出 "Concatenated string: Hello, World!"。