|
发表于 2023-11-29 17:18:48
|
显示全部楼层
- #include <stdio.h>
-
- void mystrcat(char* s1, char* s2, char* new_s) {
- int i = 0, j = 0;
- int len1 = strlen(s1), len2 = strlen(s2);
-
- // 保证 s1 的所有字符都复制到 new_s
- for (i = 0; i < len1; i++) {
- new_s[i] = s1[i];
- }
-
- // 将 s2 的字符附加到 new_s,从 s1 的最后一个字符开始
- for (j = 0; j < len2; j++) {
- new_s[i+j] = s2[j];
- }
-
- // 添加字符串结束标志
- new_s[i+j] = '\0';
- }
-
- int main() {
- char s1[] = "Hello";
- char s2[] = "World";
- char new_s[50];
- mystrcat(s1, s2, new_s);
- printf("%s\n", new_s); // 输出: HelloWorld
- return 0;
- }
复制代码
这个函数mystrcat将字符串s1和s2交叉连接,并把结果放在new_s中。需要确保new_s足够大以容纳两个字符串的所有字符。否则,可能会发生缓冲区溢出 |
|