使用字符数组编写一个程序,能够实现存储从键盘输入的两个字符串

使用字符数组编写一个程序,能够实现存储从键盘输入的两个字符串,第1张

#include
using namespace std;
int get_length(char a[])//定义一个函数用于计算数组里元素的个数
{
    char* p = a;//定义一个字符指针指向数组a的首位元素
    int count = 0;//计数器
    while (*p++ != '\0')
    {
        count++;
    }
    return count;
}
int main()
{
    char a[30] ;//定义数组a并确定大小
    char b[30] ;//定义数组b并确定大小
    while (cin >> a >> b) {
        int i = 0;
        char* p1, * p2;//定义字符指针p1,p2
        p1 = a;
        p2 = b;
        while (*p1 != '\0')//只要数组没有指向结束符'\0'就指向下一个
            p1++;
        while (*p2 != '\0')//用该方法将数组b与数组a连接起来
        {
            *p1++ = *p2++;
        }
        *p1 = '\0';//因为a数组中的结束符被b数组的第一个元素替换,所以需要在最后重新设置结束符
        int count1 = get_length(a);//调用函数
        for (int i = count1 - 1; i >= 0; i--)
        {
            cout << a[i];//倒序输出
        }
        cout << endl;
    }
    return 0;
}

本题除了用上述方法求解,还可以使用c++强大的系统函数来解决,代码长度会一下少很多

#include
#include//必须使用该函数库
using namespace std;
int main()
{
    char a[30] ;//定义数组a并确定大小
    char b[30] ;//定义数组b并确定大小
    while (cin >> a >> b) {
        int i = 0;
        strcat_s(a, b);//该函数用于实现字符数组的拼接
        for (int i = strlen(a); i >= 0; i--)//使用strlen函数可计算字符数组的长度
        {
            cout << a[i];//倒序输出
        }
        cout << endl;
    }
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/733534.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存