问题遇到的现象和发生背景
使用递归的方法,将数组里的字符倒序
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include<stdio.h>
#include<string.h>
int stringh(char arr[])
{
int count = 0;
while (*arr != '\0')
{
count++;
arr++;
}
return count;
}
void reverse_string(char *arr)
{
char tmp = arr[0];
int sz = stringh(arr);
arr[0] = arr[sz - 1];
arr[sz - 1] = '\0';
while (stringh(arr + 1) >= 2)
reverse_string(arr + 1);
arr[sz - 1] = tmp;
}
int main()
{
char arr[] = "admc";
reverse_string(arr);
printf("%s\n", arr);
return 0;
}
运行结果及详细报错内容
无法打印出结果,但是数组中字符串长度小于等于3,可以打印出来
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
使用递归的方法,将数组里的字符倒序