函数递归
什么是递归?
程序调用自身的编程技巧称为递归。
递归的主要思考方式在与:把大事化小
练习1:
接受一个整型值(无符号),按照顺序打印它的每一位。 例如: 输入:1234,输出 1 2 3 4.
#include<stdio.h>
#include<stdlib.h>
void Print(int n)
{
if (n > 9)
{
Print(n / 10);
}
printf("%d ", n % 10);
}
int main()
{
int num = 1234;
Print(num);
system("pause");
return 0;
}
练习2:
编写函数不允许创建临时变量
#include<stdio.h>
#include<stdlib.h>
int Strlen(const char* str)
{
if (*str == '\0')
return 0;
else
return 1 + Strlen(str + 1);//这一定要给str+1,让它由a移向b
}
int main()
{
char *p = "abcdef";
int tmp = Strlen(p);
printf("%d\n", tmp);
system("pause");
return 0;
}