C++ 反转字符串(原创) |
您所在的位置:网站首页 › 翻转字符串函数 › C++ 反转字符串(原创) |
//通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识 /*分析过程: 假设要使传递的字符串为常量const字符串,这样操作更加灵活,可直接传递字符串字面值进行反转,常见的解决方法就是,定义一个新的与传递过来字符串长度 相等的字符数组,然后进行字符串拷贝,把str字符按从左到右放置到字符数组中,然后采用循环来对字符数组中字符反转 */ /*第一种,采用以上思路解法,传递为const类型C风格字符指针,返回为char*类型*/ //直接使用字符数组赋值char* strrev1(const char* str){ const size_t length = strlen(str);//求字符长度 char *temp = new char[length];//新建一个等长度的字符数组 strcpy(temp,str);//字符串拷贝 for (size_t i = 0; i tmp) { char t = *tmp; *tmp++ = *p; *p-- = t; } return ret;} //与上一函数基本相似,只不过本函数使用是移位操作改变字符指针指向char* strrev3(const char* str){ char* tmp = new char[strlen(str) + 1]; strcpy(tmp,str); char* ret = tmp; char* p = tmp + strlen(str) - 1; while (p > tmp) { *p ^= *tmp; *tmp++ ^= *p; *p-- ^= *tmp; } return ret;} //节省几步,直接给新建的字符数组赋反转的值,呵呵,简单明了,只不过循环多执行几次char* strrev4(const char* str){ char * temp = new char[strlen(str)]; for(int i = 0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |