将字符串中的字符反向排列
不能使用c函数库中的字符串操作函数
7.18复习:
可以用gets(arr)替代scanf函数,可以读取一行的值(包括空格及其后面的数字)
1.my_strlen传参忘加*
2.第四步交换不会实现(不懂怎么写)
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
str++;
count++;
}
return count;
}
void print_nixu2(char arr[])//abcdefg。
{
//1.将a挪开;
char temp = arr[0];
//2.g挪到a位置;
int len = my_strlen(arr) - 1;
arr[0] = arr[len];
//3.'\0'挪到g位置;
arr[len] = '\0';
//4.bcdef进行交换;
if (my_strlen(arr + 1) >= 2)
{
print_nixu2(arr + 1);
}
//55.a挪到'\0'位置
arr[len] = temp;
}
//void print_nixu1(char arr[])
//{
// int left = 0;
// int right = my_strlen(arr) - 1;
// int temp = 0;
// while (left < right)
// {
// temp = arr[left];
// arr[left] = arr[right];
// arr[right] = temp;
// left++;
// right--;
// }
//}
int main()
{
char arr[] = "abcdefg";
//print_nixu1(arr);
print_nixu2(arr);
printf("%s ",arr);
return 0;
}