函数的声明与定义
头文件(.h)
#ifndef _ADD_H_ //防止头文件被多次引用,占用空间,引起浪费
#define _ADD_H_
int Add(int x,int y);//声明
#endif
函数定义(源文件.c)
int Add(int x,int y)
{
return x+y;
}
执行任务(源文件1.c)
#include"add.h" //引用头文件
int main()
{
int a = 10;
int b = 20;
int sum = Add(a,b);
printf("%d\n",sum);
return 0;
}
7.1 什么是递归?
程序调用自身的编程技巧称为递归( recursion)。
递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的主要思考方式在于:把大事化小
//最简单的递归
int main()
{
main();
return 0;
}
//stack overflow栈溢出
void print(int n)
{
if(n>9)
{
print(n/10);
}
printf("%d", n%10);
}
int main()
{
unsigned int num = 0;
scanf("%d",&num);
print(num);
return 0;
}
存在限制条件,当满足这个限制条件的时候,递归便不再继续。
每次递归调用之后越来越接近这个限制条件
编写函数不允许创建临时变量,求字符串的长度。
int Strlen(const char*str)
{
if(*str == '\0')
return 0;
else
return 1+Strlen(str+1);
}
int main()
{
char *p = "abcdef";
int len = Strlen(p);
printf("%d\n", len);
return 0;
}
标签:return,函数,递归,int,C语言,---,num,print,main
From: https://blog.51cto.com/u_16251486/7512249