...将一个字符串交叉插入到另一个字符串中(假定两字符串不等长...

发布网友 发布时间:2024-10-23 16:57

我来回答

5个回答

热心网友 时间:18小时前

1、首先在C语言中,string.h中的_strrev函数,声明形式如下。

2、使用_strrev函数,进行示例代码展示,如下图所示。

3、对于string形式的字符串变量,使用reverse函数,声明形式如下。

4、然后使用reverse函数,进行代码示例展示,如下图所示。

5、自己编写字符串反转函数,进行示例代码展示,如下图所示就完成了。

热心网友 时间:18小时前

程序写的好乱 就拿错误来讲 你ss[k-p]=0 假如k<p怎么办 怎么会数组不越界?

热心网友 时间:18小时前

初始化s1、s2、s3.

热心网友 时间:18小时前

在void print前加一个str3[l]='/0'试试?

热心网友 时间:18小时前

#include <iostream>
#include <cstring>

using namespace std;
class STRING
{
    char str1[60];
    char str2[40];
    char str3[100];
public:
    STRING(char *s1,char *s2);
    void process();
    void print();
};

STRING::STRING(char *s1,char *s2)
{
    strcpy(str1,s1);
    strcpy(str2,s2);
}

void STRING::process()
{
    int count=0;
    int i,j;
    for( i=0;str1[i]!='\0'&&str2[i]!='\0';i++)
        {
            str3[count++]=str1[i];
            str3[count++]=str2[i];
        }
    for(j=i;str2[j]!='\0';j++)
        str3[count++]=str2[j];
    for(j=i;str1[j]!='\0';j++)
        str3[count++]=str1[j];
     str3[count]='\0';
}

void STRING::print()
{
    cout<<"str3="<<str3<<endl;
}
int main()
{
    char *s1="abcde";
    char *s2="ABCDEFG";
    STRING test(s1,s2);
    test.process();
    test.print();
    return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com