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

#include <iostream>
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 <iostream>
#include<cstring>//必须使用该函数库
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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值