您可以使用以下代码实现字符串交叉连接:#include <stdio.h>void mystrcat(char* s1, char* s2, char* new_s) { int i = 0, j = 0; while (*s1 != '\0' && *s2 != '\0') { if (i % 2 == 0) { new_s[i] = *s1; s1++; } else { new_s[i] = *s2; s2++; } i++; } while (*s1 != '\0') { new_s[i] = *s1; s1++; i++; } while (*s2 != '\0') { new_s[i] = *s2; s2++; i++; } new_s[i] = '\0';}int main() { char s1[] = "abcd"; char s2[] = "4321"; char new_s[9]; mystrcat(s1, s2, new_s); printf("%s\n", new_s); return 0;}
在上面的代码中,`mystrcat`函数接收两个输入字符串`s1`和`s2`,并将交叉连接的结果存储在`new_s`中。我们使用两个指针`s1`和`s2`分别指向两个输入字符串的开头,并通过循环将它们的字符依次交替插入到`new_s`中。最后,我们确保将`new_s`的末尾设为`'\0'`以表示字符串的结束。
在`main`函数中,我们定义了两个输入字符串`s1`和`s2`,以及一个用于存储结果字符串`new_s`。然后,我们调用`mystrcat`函数进行交叉连接,并将结果打印出来。
运行上述代码将输出:`a4b3c2d1`
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |