标签:amp 间接 代码量 flow can 输入 问题 编程 str
函数和递归:什么是递归?
程序调用自身的编程技巧称为递归。递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大减少了程序的代码量。递归的主要思考方式在与:把大事化小;
递归的两个必要条件:
1:存在限制条件,当满足这个限制条件的时候,递归便不再继续。如果没有限制条件的话,就会是个死循环,栈(stack )就会满——报错stack over flow
2:每次递归调用之后越来越接近这个限制条件
////接受一个整型值(无符号),按照顺序打印它的每一位,如;输入1234,打印,1 2 3 4
//#include<stdio.h>
//void print(int n)
//{
// if (n > 9) //if n = 123
// {
// print(n / 10);
// }
// printf("%d " ,n%10);
//}
//
//int main()
//{
//
// unsigned int num = 0;
// scanf("%d" , &num);
// print(num);
// return 0;
//}
//练习二,自定义函数,不许创建零时变量,来计算字符串的长度
//#include<stdio.h>
//int my_len(char str)
//{
// if (str != ‘\0‘)
// {
// return 1 + my_len(str + 1);
// }
// else
// return 0;
//
//}
//int main()
//{
// char arr[] = "abcde";
// int len = my_len(arr);
// printf("%d" ,len);
// return 0;
//}
标签:amp 间接 代码量 flow can 输入 问题 编程 str
原文地址:https://blog.51cto.com/14943133/2539722