//递归写法字符串的逆置
#include
int i = 0;
int j = 0;//创建两个静态变量,用于辅助递归的调用。
void reverse_string(char *src)
{
i--;//每次调用一次减1,使指针(src+i)往后偏移一个字节。
if (src+j < src + i)//当前面的指针(src+j)的地址大于后面的指针(src+i)的地址递归调用结束。
{
*(src+j) = *(src+j)^*(src+i);
*(src + i) = *(src+j)^*(src + i);
*(src+j) = *(src+j)^*(src + i);//以上三个就是两个字符的交换。
j++;//每次调用一次减1,使指针(src+j)往前偏移一个字节。
reverse_string(src);
}
return 0;
}
int main()
{
char p[] = "abecdefg";
while (p[i])//就字符串的长度
{
i++;
}
reverse_string(p);
printf("%s", p);
system("pause");
return 0;
}
注释写的不是太清楚
.....
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)