正在加载图片...
s=5*fac(4) 5*24 图83函数递归调用示意图 代码清单8.7: #include”stdio.h" int fact(intn) if(n=1) return 1; else retumn n*fact(n-1) int s; s=fact(5): printf"s=%dn"s) 运行结果:s=120。 8.5数组作为函数参数 数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是 把数组元素(下标变量)作为实参使用:另一种是把数组名作为函数的形参和实参使用。 1.数组元素作函数实参 数组元素就是下标变量,它与普通变量并无区别。因此它作为函数实参使用与普通变量 是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值 传送。 【例8.7】判别一个数组中各元素的值,若大于零则输出该值,若小于等于零则输出0值。 代码清单8.8 include"stdio.h" void nzp(imtv) i讽v>0) printf"%d"v)图 8.3 函数递归调用示意图 代码清单 8.7: #include "stdio.h" int fact(int n) { if(n==1) return 1; else return n*fact(n-1); } main() { int s; s=fact(5); printf("s=%d\n",s); } 运行结果:s=120。 8.5 数组作为函数参数 数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是 把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参和实参使用。 1.数组元素作函数实参 数组元素就是下标变量,它与普通变量并无区别。因此它作为函数实参使用与普通变量 是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值 传送。 【例 8.7】判别一个数组中各元素的值,若大于零则输出该值,若小于等于零则输出 0 值。 代码清单 8.8: #include "stdio.h" void nzp(int v) { if(v>0) printf("%d ",v); s=5*fact(4) 4*fact(3) 3*fact(2) 2*fact(1) 1 2*1 3*2 4*6 f=5*24
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有