C语言反转字符串
2024-08-30 06:43:14
也是面腾讯的一道编程题=,=
这题比较简单
代码如下:
#include <stdio.h>
#include <string.h> // 非递归实现字符串反转
char *reverse_v1(char *str)
{
if( !str )
{
return NULL;
} int len = strlen(str);
char temp;
for( int i = ; i < len / ; i++ )
{
// 交换前后两个相应位置的字符
temp = *(str + i);
*(str + i) = *(str + len - - i);
*(str + len - - i) = temp;
} return str;
} // 非递归实现字符串反转
char *reverse_v2(char *str) {
if( !str )
return NULL; int len = strlen(str);
int i, j;
char temp;
for( i = ,j= len-; i < j; i++, j--) {
// 交换前后两个相应位置的字符
temp=str[i];
str[i]=str[j];
str[j]=temp;
} return str;
} // 递归实现字符串反转
void reverse(char *str, int n)
{
if( !str )
return ; if ( == n || == n) {
return;
} else {
char tmp = str[];
str[] = str[n-];
str[n-] = tmp;
reverse(str+, n-);
} } int main() {
// 不能用 char *str = "help";这种,因为这种情况下的"help"是个字符常量,"help"存放于常量区
// 参考&拓展:http://www.cnblogs.com/lingshaohu/p/3956239.html
char str[] = "help"; //char *dst = reverse_v1(str);
//char *dst = reverse_v2(str);
//printf("%s\n", dst); reverse(str, strlen(str)); printf("%s\n", str); return ;
}
ref:http://blog.csdn.net/ameyume/article/details/5599139#
最新文章
- CString转string
- python 远程执行命令、上传、下载举例
- wp8.1 Study9:针对不同的屏幕和手机方向调整UI
- 宏定义中的##操作符和... and _ _VA_ARGS_ _
- 【转载】TCL装载包和版本控制
- iOS中的字符串扫描类NSScanner
- Delphi直接让QT进入指定房间
- 关于Android新建出错:Errors occurred during the build. Errors running builder &#39;Android Resource M
- input 属性
- 1005 Number Sequence
- 再起航,我的学习笔记之JavaScript设计模式16(享元模式)
- Linux chmod命令及权限含义
- JAVA项目从运维部署到项目开发(三.Redis)
- 14、使用csv和excel存储豆瓣top250电影信息
- 单例模式-懒汉式的一次多线程Debug
- 20165223 week6测试错题总结
- 实现 js 数据类型的判断函数type
- vue2.0的contextmenu右键菜单
- Linux账号和密码文件 /etc/passwd和/etc/shadow
- PYQT窗口风格
热门文章
- HTML5入门5---HTML5控件元素
- 使用 Spring 3 来创建 RESTful Web Services(转)
- 62. Unique Paths
- Xml文件保存值不能及时更新
- error: dst ref refs/heads/zhCN_v0.13.1 receives from more than one src.
- C# 按拼音/笔划 排序的简单示例(转)
- mac下app store 无法完成您的购物操作
- C#委托的介绍(delegate、Action、Func、predicate)【转】
- Leap Motion 开发笔记
- busybox filesystem matrix-gui-2.0 undefined function json_encode()