编程实现两字符串的连接,要求使用字符数组保存字符串,不要使用系统函数。

img


编程实现两字符串的连接,要求使用字符数组保存字符串,不要使用系统函数。

用C++编程实现两字符串连接的示例代码:

#include <iostream>
using namespace std;

int main() {
    const int MAXLEN = 100;
    char str1[MAXLEN], str2[MAXLEN], str3[MAXLEN * 2];
    int len1 = 0, len2 = 0, len3 = 0;
    cout << "请输入第一个字符串:";
    cin.getline(str1, MAXLEN);
    cout << "请输入第二个字符串:";
    cin.getline(str2, MAXLEN);

    // 计算第一个字符串的长度
    while (str1[len1] != '\0') {
        len1++;
    }

    // 计算第二个字符串的长度
    while (str2[len2] != '\0') {
        len2++;
    }

    // 将第一个字符串复制到 str3 中
    for (int i = 0; i < len1; i++) {
        str3[len3++] = str1[i];
    }

    // 将第二个字符串复制到 str3 中
    for (int i = 0; i < len2; i++) {
        str3[len3++] = str2[i];
    }

    // 在 str3 的末尾添加结束符号
    str3[len3] = '\0';

    // 输出结果
    cout << "连接后的字符串为:" << str3 << endl;

    return 0;
}

该程序使用字符数组保存字符串,并且没有使用系统函数。它首先获取用户输入的两个字符串,然后计算出它们的长度。接着,它将第一个字符串复制到一个新的字符数组 str3 中,然后将第二个字符串也复制到 str3 中。最后,将结束符号添加到 str3 的末尾,并输出连接后的字符串。
望采纳

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/262149
  • 你也可以参考下这篇文章:编写一程序,将两个字符串连接起来,结果取代第一个字符串。
  • 除此之外, 这篇博客: 虚函数,虚表指针的初始化时期,静态函数能否为虚函数,哪些函数不能是虚函数中的 常见的不能声明为虚函数的有 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    普通函数(非成员函数);静态成员函数;内联函数;构造函数;友元函数
    1.为什么C++不支持普通函数为虚函数?

    普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。

    2.为什么C++不支持构造函数为虚函数?

    2.1含有虚函数的类包含一个虚指针,虚指针存储在对象的内存空间的。如果构造函数是虚的,就需要通过虚指针来调用虚函数表虚函数,可是对象还没有实例化,也就是内存空间还没有,就没有虚指针,所以构造函数不能是虚函数。

    2.2 虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。

    3.为什么C++不支持内联成员函数为虚函数?

    其实很简单,那内联函数就是为了在代码中直接展开,减少函数调用花费的代价,虚函数是为了在继承后对象能够准确的执行自己的动作,这是不可能统一的。(再说了,inline函数在编译时被展开,虚函数在运行时才能动态的邦定函数)

    4.为什么C++不支持静态成员函数为虚函数?

    这也很简单,静态成员函数对于每个类来说只有一份代码,所有的对象都共享这一份代码,他不归某个具体对象所有,所以他也没有要动态邦定的必要性。

    5.为什么C++不支持友元函数为虚函数?

    因为C++不支持友元函数的继承,对于没有继承特性的函数没有虚函数的说法。

  • 您还可以看一下 韦语洋(Lccee)老师的一机一码加密、被破解自动销毁随时授权回收升级系列视频课程课程中的 演示误报效果,一些被误报的特征的解除方式(重要)小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^