字符串连接
定义函数void mystrcat(char*s1,char*s2,char*new_s)实现对两个字符串交叉连接,如a4b3c2d1 您可以使用以下代码实现字符串交叉连接:#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 = *s1;
s1++;
} else {
new_s = *s2;
s2++;
}
i++;
}
while (*s1 != '\0') {
new_s = *s1;
s1++;
i++;
}
while (*s2 != '\0') {
new_s = *s2;
s2++;
i++;
}
new_s = '\0';
}
int main() {
char s1[] = "abcd";
char s2[] = "4321";
char new_s;
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官方接口),如未能正确解答您的问题,请继续追问。
页:
[1]