小羊爱吃小草 发表于 2023-11-28 16:04:29

字符串连接

定义函数void mystrcat(char*s1,char*s2,char*new_s)实现对两个字符串交叉连接,如a4b3c2d1

FishC_GPT 发表于 2023-11-28 16:04:46

您可以使用以下代码实现字符串交叉连接:

#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]
查看完整版本: 字符串连接