c语言对字符串逆序,【C语言】 字符串逆序
【C语言】 字符串逆序
字符串逆序有多种办法,下面我们分方法而论:
// 非递归实现字符串反转:
char *reverse(char *str)
{
if( !str )
{
return NULL;
}
int len = strlen(str);
int i,j;
char temp;
for( i = 0,j=len-1; i
{
// 交换前后两个相应位置的字符
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
return str;
}
int main()
{
char src[] = {"abcdef"};
char *pdest = reverse(src);
puts(src);
return 0;
}
//递归就是一种栈结构:
#include
#include
void reverse_string(const char * const string)
{
assert(string);
if (*string == '\0')
return;
else
reverse_string(string+1);// 先将字符压栈
putchar(*string);// 再将字符按照先进后出的顺序输出
}
int main()
{
char string[20] = {0};
scanf("%[^\n]",string);
reverse_string(string);
printf("\n");
return 0;
}
亦可:(若要求不使用其他库函数)
#include
#include
int my_strlen(const char *string)
{
assert(string);
if(*string == '\0')
{
return;
}
else
return 1+my_strlen(string+1);
}
char *reverse_string(char *string,int len)
{
assert(string);
if(!string)
{
return NULL;
}
if(len > 1)
{
char tmp = string[0];
string[0] = string[len-1];
string[len-1] = '\0'; // 最后一个字符在下次递归时不再处理
reverse_string(string + 1,len-2);//递归调用,每调用一次,要反转的字符串分别从头和末尾各减少一个
string[len-1] = tmp;
}
return string;
}
int main()
{
char string[20] = {0};
int len;
scanf("%s",string);
len = my_strlen(string);
reverse_string(string,len);
printf("%s\n",string);
return 0;
}
©著作权归作者所有:来自51CTO博客作者Vs吕小布的原创作品,谢绝转载,否则将追究法律责任
c语言对字符串逆序,【C语言】 字符串逆序相关推荐
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | 引入线程安全概念 )
文章目录 一.引入线程安全概念 二.完整代码示例 一.引入线程安全概念 在上一篇博客 [C 语言]字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 ) ...
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 )
文章目录 一.strncat 字符串连接函数 二.借助 递归函数操作 逆序字符串操作 三.完整代码示例 一.strncat 字符串连接函数 strncat 函数 : 将 const char *src ...
- 字符串逆序输出c语言,5、输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。...
举例: #include int main() { int i, j, cnt; char ch, a[80], b[80]; ch=getchar(); for(i=0; ch!='\n'; i++ ...
- C语言实现字符串逆序、倒置字符串(字符串逆序问题的升级)
一.字符串逆序 问题描述: 输入一个字符串str,将其内容颠倒过来,并输出. 数据范围0<len(str)<10000 输入描述: 输入一个字符串,可以有空格 输出描述: 输出逆序的字符串 ...
- 华为机考HJ13句子逆序C语言弱智解法
华为机考HJ13句子逆序C语言弱智解法 句子逆序C语言低端解法,易于理解. 1.收数据老生常谈. 2.将句子全部逆序. 3.将单词正序. (这里有一个bug,最后一个词(原句子第一个词)总是收不到,所 ...
- C语言利用二叉树的操作实现根据给定的字符串生成二叉树并前序、中序、后序输出二叉树。
C语言利用二叉树的操作实现根据给定的字符串生成二叉树并前序.中序.后序输出二叉树. Description 根据给定的字符串生成二叉树并前序.中序.后序此二叉树. Input 给定一字符串,其中#表示 ...
- C语言编程>第三周 ⑦ 将一个数组逆序输出。
例题:将一个数组逆序输出. 代码如下: /*程序分析:用第一个与最后一个交换.*/ #include<stdio.h> #define N 5 int main() {int a[N]={ ...
- C语言将字符串s连接到t的后面,下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t..._考试资料网...
问答题下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面. 例如,当s中的字符串为"ABCDE"时,则t中的 ...
- 用C语言去判断一个字符串是否为回文字符串(简单明了)
C语言判断回文字符串呀 hello,小伙伴们.好久没写文章了,今天我们来写一下如何用C语言判断字符串是不是回文字符串呢. 大致思路:将字符串逆序赋给另一个字符串,然后比较这两个字符串是否相同.(其实也 ...
最新文章
- Hadoop 单机版和伪分布式版安装
- 小程序从浏览器返回有一个空白页_北京做一个小程序
- Python爬虫开发:requests库的使用--session的使用
- C++一学就废?试试这个项目包
- JS 查看标签下某元素所有信息(查看元素,查询元素,遍历元素、HTMLCollection对象、NodeList对象)
- shell进行mysql统计
- 2021年4大免费ER图工具
- 电力系统matlab建模视频,MATLAB/Simulink电力系统建模与仿真 第2版
- python中with open as f什么意思_Python中 with open(file_abs,'r') as f: 的用法以及意义
- Python 李查逊/Richardson加速外推法
- “双11”购物狂欢节,所有女生走进了谁的直播间?
- Python基础入门之切片
- Java Algorithm 简单算法
- 操作系统批处理阶段--单道和多道批处理系统处理优点缺点以及过程,分时实时操作系统
- linux unix 可视化界面,Linux/UNIX远程调用图形化界面的一种方法
- ubuntu16.04使用wine安装Wechat、QQ、Tim等windows软件
- python优点是代码库支持、灵活_Python 3.6版本实现用户群的不断增长
- linux fixup段和__ex_table段
- 缺陷检测-金属表面缺陷检测
- 压缩Html HtmlCompressor
热门文章
- basys3芯片型号xc7a35tcpg236-1
- java 简单数组_Java 数组分析及简单实例
- AttributeError: 'NoneType' object has no attribute 'append'
- Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
- Java 9 揭秘(15. 增强的弃用注解)
- Symfony路由配置教程【已在腾讯课堂开课】
- PLC状态机编程第六篇-优化PLC程序生成
- webpack模块定义和使用的模式
- Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结...
- 安装SQL Server2008,要重启机器,解决办法