原题链接:C语言训练-字符串正反连接
解题思路:
用的指针,不知道是不是变麻烦了,如有不对或改进方法,求指教
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
#define N 50
int main()
{
char str1[100],str2[N]={0},*p1,*p2;
char temp;
gets(str1);//获取字符串str1
strcpy(str2,str1);//把str1复制给str2
for(p1=str2,p2=&str2[strlen(str2)-1];;p1++,p2--)//指针p1指向str2的首地址,p2指向str2的末地址
{
temp=*p1;
*p1=*p2;
*p2=temp;
if(p2-p1==0||p2-p1==1)//当两个指针相遇时退出循环
break;
}
strcat(str1,str2);//把 str2连接在str1的后面
puts(str1);//输出最后字符串
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复