黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
三 函数的声明和原型
01 在函数调用之前,应该对所调用函数进行声明,指出该函数的返回值类型及形参的个数和类型。
函数声明的一般格式:
函数返回值类型 函数名(形参类型1 形参名1,………………);
*函数声明的位置,一种是在主调函数中对函数进行声明;另外一种是在所有函数的外部进行函数声明。
// 编程求1+2en+....+nen #include <stdio.h> double power(int p,int q); double sigma(int m,int n); int main() { int x,y; double sum; printf("请输入两个函数:\n"); scanf("%d%d",&x,&y); sum = sigma(x,y); printf("sum=%f\n",sum); } double power(int p,int q) { int i; double product=1; for (i=1; i<=q; i++) { product = product*p; return product; } } double sigma(int m,int n) { int i; double p, sum=0; for (i=1; i<m; i++) { p = power(m,n); sum = sum+p; return sum; } }
四 函数的嵌套和递归
01 嵌套调用是指在一个函数的定义中出现对另一个函数的调用,即被调函数中又调用其他函数。
02 函数在调用过程中,又直接或间接的调用自身,则称函数的递归调用,这种函数也被称为递归函数
// 用递归方法求整数n的阶乘 #include <stdio.h> double fact(int m); int main() { int x; double result; printf("请输入一个整数:\n"); scanf("%d",&x); result = fact(x); if (result == -1) { printf("结果错误\n"); } else { printf("%d!=%f\n",x,result); } } double fact(int m) { if (m<0) { return -1; } else if(m==0||m==1) { return 1; } else return m*fact(m-1); }
时间: 2024-10-09 05:58:45