#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;
}