1、递归实现字符串逆序(不能使用c语言库中的字符串操作函数)
非递归法
my_strlen(char* str)
{
int count = 0;
while(*str !='\0')
{
count++;
str++;
}
return count;
}
void reverse_string(char* str)
{
//原理:将a和f,b和e,c和d交换
int left = 0;
int right =my_strlen(str);
while(left<right) //当left=right是,这个数为数组的中间元素,所以不用交换
{
char tmp = str[left];
str[left] = str[right];
str[right] = char tmp;
left++;
right--;
}
}
int main
{
char arr[]="abcdef";
reverse_string(arr);
printf("%s\n",arr); //fedcba
return 0;
}
//递归法
my_strlen(char* str)
{
int count = 0;
while(*str !='\0')
{
count++;
str++;
}
return count;
}
void reverse_string(char* s