翻转字符串
来源:互联网 发布:js弹出输入框 并取值 编辑:程序博客网 时间:2024/04/29 16:24
#include<stdio.h>
/*
**翻转字符串
*/
void reverse_string(char *string)
{
char* last_char; //指向最后一个字符的位置;
for(last_char=string;*last_char!='/0';last_char++)
;
last_char--;
while(string<last_char )
{
char temp
temp=*string;
*string++=*last_char;
*last_char--=temp;
}
}
int main()
{
char str[]="error help!";/*不能写成char *str="error help!";*/
reverse_string(str);
printf("%s/n",str);
return 0;
}
catamount3000:
"error help!"
这是一个不可改变的常字符串
char p[]="error help!"==>char p[12]={'e','r','r','o',...,'!','/0'};
可以看出char p[]申请了12个字节的空间,然后将常字符串一个一个的复制到这个空间内. 由于这个空间属于我们的,所以我们可以任意在这个空间内进行操作
char *p="error help!";
p是一个地址变量,它专门用来保存地址值的,它不是保存数据的,这条语句是将常字符串的地址保存到p里面.
/****************用递归做此题****************/
void reverse(char *s)
{
char *p,temp;
static int i=0,,j=0; //用静态变量控制字符串的移动;
if(*(s+i)=='/0') //递归结束条件;
return;
else
{
p=s+i;
temp=*p; //递归压栈abcde;
i++;
reverse(s);
}
if(j<i)
{
*(s+j)=temp; //出栈edcba;
j++;
}
}
int main()
{
char s[]="abcde";
reverse(s);
printf("%s/n",s);
return 0;
}
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 字符串翻转
- 正式登陆CSDN blog
- 设计模式
- 哦,是这样的
- Windows Media 元数据使用指南
- boost新版本推出:1.33.1
- 翻转字符串
- Oracle函数列表速查
- Generate an Image of a Web Page
- 软件设计中的可用性
- C++虚函数系列之二:绕过class的访问机制访问虚函数
- C++虚函数系列之三:虚函数调用的另类"注入"
- 开发购物网站的第一步--关于制作前的一些思考
- 第四章: Initialization & Cleanup
- 全面接触Java集合框架