直接进入主题,如何使用递归逆序一个字符串。
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
void res_sub(char *str)
{
assert(str != NULL);//断言,确保有效
if (*str == '\0')//判断,不是尾部,就往下执行
{
return;
}
res_sub(str + 1);//判断下一个字符是否为空,不断调用自己,直到到了末尾,开始返回输出
printf("%c", *str);
}
int main()
{
char *msg = "hello world!";
res_sub(msg);
system("pause");
return 0;
}
当然想要具体了解,你可以把代码放到vs2015下,按F11调试来看。
附上linux下的代码贴图。