酷代码 AI
菜单
服务商

要求自定义一个字符串连接函数,可以将一个字符串连接到另外一个字符串后面。 函数接口定义: char* strcat(char *a, const char *b);

下面是实现自定义字符串连接函数 `strcat` 的代码: ```c #include <stdio.h> // 自定义 strcat 函数 char* strcat(char *a, const char *b) { char *p = a; // 找到字符串 a 的末尾 while (*p != '\0') { p++; } // 将字符串 b 复制到字符串 a 的末尾 while (*b != '\0') { *p = *b; p++; b++; } // 在新字符串的末尾添加终止符 *p = '\0'; return a; } int main() { char str1[100] = "Hello"; const char str2[] = " World"; // 调用自定义的 strcat 函数 strcat(str1, str2); printf("%s\n", str1); return 0; } ``` 代码解释: 1. 找到字符串 `a` 的末尾: - 使用一个指针 `p` 指向字符串 `a` 的起始位置。 - 通过一个 `while` 循环,不断移动指针 `p`,直到遇到字符串 `a` 的终止符 `'\0'`。 2. 将字符串 `b` 复制到字符串 `a` 的末尾: - 另一个 `while` 循环将字符串 `b` 的字符逐个复制到字符串 `a` 的末尾。 - 每次复制一个字符后,指针 `p` 和 `b` 都向后移动一位。 3. 添加终止符: - 当字符串 `b` 复制完成后,在新字符串的末尾添加终止符 `'\0'`。 4. 返回结果: - 最后返回指向字符串 `a` 的指针。 在 `main` 函数中,我们定义了两个字符串 `str1` 和 `str2`,并调用自定义的 `strcat` 函数将 `str2` 连接到 `str1` 的末尾,最后打印出连接后的字符串。 [2025-12-23 10:18:51 | AI问答 | 477点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多