算法题 用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串
来源:互联网 发布:华傲数据技术有限公司 编辑:程序博客网 时间:2024/06/07 12:23
用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串。
1、星号*靠近变量名和类型名的详解--摘自C和指针3.23
2、字符串中null结尾
在C语言中,是将字符串作为字符数组来处理的。
为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以“\0”作为标志。系统对字符常量自动添加“\0”结尾。
说明:\0代表ASCII码中为0的字符,在ASCII码中为0的字符不是一个可以显示的字符,而是一个空操作符,表示什么也不做。
3、在定义一个字符数组时,在编译时就为它分配了内存单元,它有确定的地址。而定义一个字符的指针变量时,给指针变量分配了内存单元,但是没有给指针变量指向的字符单元分配。在实际操作过程中,有可能指向了一个已存储数据的内存单元。所以在定义的时候需要注意。
实现代码:
#include <stdio.h>#include <stdlib.h>void reverse(char *str);int main(){ char *str; char arr[]="helloworld"; str=arr; reverse(str); printf("%s",str); return 0;} void reverse(char *str) { char *end=str; char tmp; if(str) { while(*end) { ++end; } --end; while(str<end) { tmp=*str; *str=*end; *end=tmp; ++str; --end; } } }
0 0
- 算法题 用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- 【C++】用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- CI1.2 用c或c++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- 【面试经典题之字符串】用C或C++写一个函数,实现反转一个null结尾的字符串
- C语言递归和非递归实现字符串反转函数char *reverse(char *str)
- 递归实现字符串反转char* reverse(char* str)合集
- C语言自己实现的 整形转换成字符串函数itoa(int Number,char* Str)
- C和指针之字符串实现my_strrchr(char *str, int ch)的函数
- 字符串反转reverse.c
- 算法:反转一个C风格的字符串
- 初始化一个NULL-terminated array of strings in C (以NULL结尾的字符串数组)
- 《CTCI》1.2 反转null结尾的字符串
- [Algorithms, C] long2char: 自己用C写来玩玩的整形转化为字符串函数 (递归和迭代两种实现): void long2char(long from, char *to, int n);
- C系列函数原型之-StrStr(char *str,char *subStr)的实现
- C运行库中的安全字符串处理函数(即函数名以_s结尾的函数)
- 15.13 传递NULL结尾的字符串给C函数库
- C解析字符串的存储,char *str和char str[]分析
- C语言 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数 函数原型:double my_atof(char *str)
- css 文本两端对齐
- CGI和BOA使用期间遇到的问题汇总
- 【2015-1-15】STM32学习之库目录、文件简介
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
- JQuery源码分析
- 算法题 用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- git 版本管理
- 黑马程序员java基础之网络编程
- CentOS6.5 安装python
- radio 和 checkbox
- Android Fragment通用小知识(一)通用超类SingleFragmentActivity
- Effective java,java程序员的武林秘籍
- MFC疑难注解:CAsyncSocket及CSocket
- ArrayBlockingQueue源码阅读心得