char *strreverse(char *dest,char *src)//反转字符串,have tested

{

/*

把字符串的两头进行掉换,这样即省资源又降低了复杂度,还有一问题,可能有dest==src

*/

/*

在写此程序时考虑的问题:(我写程序时总考虑一些问题,列举出多不可行的办法

所以我写程序的时候很犹豫)

如果函数入口的变量为(char **dest,char *src);那么可以为他直接分配一个空间

哦,明白,这违背了多占用了空间的原则

如果还是用原来接口即:(char *dest,char *src)那么,就分两种情况考虑:

第一,当dest==src也就说是输入等输出的时候

第二,就是当dest的空间大小不够了,其实按照strcpy()这函数来讲,这问题不应

是在这个程序里边考虑的问题,因为dest的空间在调用此函数之前必须保证足够,

要不会出现问题.那我这程序也在这种保证下编写的,当然,会进行检查的

*/

int srclen=strlen(src);

int destlen=strlen(dest);

char c;

if(destlenreturn NULL;

if (dest==src)//是以自己为输入输出的,这种方式就用两边对换的方法

{

destlen=destlen/2;

while (srclen>destlen)

{

c=*src;

*src=*(dest+srclen-1);

*(dest+srclen-1)=c;

src++;

srclen--;

}

}

else//输入和输出不相等,那么要进行所有的对换啊

{

while (srclen>0)

{

*dest++=*(src+srclen-1);

srclen--;

}

*dest=0;//把/0给dest

}

return src;

}

如果输入同时也为输出的时候,请要搞清楚src和dest是不是常量,如果是的话,运行的时候会出错误,而编译的时候没什么问题例如你这样调用本函数:

int main(viod)

{

char * str="abcdefg";

strreverse(str,str);//这样是错误的,因为str为常量,不能做为输出的

}

//当然,解决上述问题,只需用改一个输出(char *dest)类型就行了,把它改成(char **str)

C语言怎样将一个字符串逆序,C语言,求一个字符串的逆序相关推荐

  1. c语言学习-使用指针求一个字符串的长度

    c语言使用指针求一个字符串的长度 程序流程图: 代码: #include<stdio.h> #define N 81 void main() {char str[N],*string=st ...

  2. 【C语言】求一个字符串的长度,不要使用strlen()函数

    求一个字符串的长度,不要使用strlen()函数 方法一(计数器法): #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main( ...

  3. Python统计一个字符串中所有字符在另一个字符串出现的总次数

    代码功能:统计一个字符串中所有字符在另一个字符串中出现的总次数. 技术要点:函数式编程. 可能的应用:垃圾邮件分类.在大部分垃圾邮件中,为了防止被分类为垃圾邮件,会在一些关键字中间插入类似于[.].* ...

  4. 题目:利用指针知识,写一函数,求一个字符串的长度

    题目:利用指针知识,写一函数,求一个字符串的长度 一.需求分析 很明显,就是求出一个字符串中字符的数目. 该函数就是C语言 string.h 库中的strlen()函数 二.思维节点 字符串指针的创建 ...

  5. 将字符串的一部分拷贝到另一个字符串

    主要3中实现方式:strncpy().string类.memcpy() 通过string实现更方便. 1.strcpy() 无法实现将字符串的一部分拷贝给另一个字符串. 2.strncpy() 利用标 ...

  6. 求一个字符串中连续出现的次数最多的子串

    求一个字符串中连续出现的次数最多的子串.例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复 ...

  7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个...

    2019独角兽企业重金招聘Python工程师标准>>> 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如"我ABC ...

  8. 求一个字符串中连续出现次数最多的子串

    http://blog.csdn.net/imcdragon/article/details/6838565解答二 http://hi.baidu.com/icyday315/item/040aada ...

  9. 【字符串问题】求一个字符串中重复出现的最长的子串

    2013-09-14 15:34:16 用后缀数组求一个字符串中重复出现的最长的子串. 用C++中的string类可以很方便地进行操作,需将后缀数组保存在vector<string>,如下 ...

  10. 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。

    // 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度. #include <stdio.h> main() {  int len;  char*str[20]; ...

最新文章

  1. python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数返回浮点数
  2. python笔记之for循环
  3. mysqlbinlog工具_带你解析MySQL binlog
  4. 帧中继多点子接口下配置OSPF
  5. windows 程序员计算器
  6. 电子电路计算机仿真应用,电力电子电路的计算机仿真
  7. matlab图形黎曼几何,黎曼几何是篡改数学概念的几何
  8. wtl单文档选项_[翻译]WTL开发者指南 第1章 WTL概述
  9. 1、如何给视频和照片进行调色
  10. mysql例子 restful_restful例子问题
  11. 老爷“鸡”升级小记!
  12. win10修改中文用户名
  13. VC无负担实现XP风格界面(转)
  14. 如何进入Google工作? Google招聘流程介绍
  15. support package
  16. Java实现 word.excel等文档在线预览
  17. 打开Vscode提示rg.exe占用cpu过高,电脑卡顿
  18. Swift实现自定义控件之---UISwitch
  19. JDK工具 appletviewer命令详解
  20. 超简单的React项目打包后部署到服务器上

热门文章

  1. CCNA11月20日战报
  2. python sys与shutil模块
  3. Java多线程(三) 多线程间的基本通信
  4. 哈佛商学院教授对毕业生讲
  5. python的wget用法介绍_Python使用wget实现下载网络文件功能示例
  6. 拓端tecdat|R语言使用马尔可夫链Markov Chain, MC来模拟抵押违约
  7. 实验一 MATLAB软件的使用
  8. 10 Seconds Count Down
  9. 文本数据增强(data augmentation)textattack使用
  10. m1芯片 服务器,今天来说说苹果M1 和华为ARM PC芯片