没有返回值的函数通常用来做一些数据的修改或实现些内部功能。而有返回值的函数通常作用为数据存储。当然实际上没有那么明显的界限,只是你要知道没返回值的函数一样有意义
赤峰林西网站建设公司成都创新互联公司,赤峰林西网站设计制作,有大型网站制作公司丰富经验。已为赤峰林西成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的赤峰林西做网站的公司定做!
无返回值的函数,只进行某种操作。
有返回值的函数,可以将某个变量或指针返回其调用函数。
两者形式上的区别如下:
无返回值:void fun1();
有返回值:int fun2();
调用的区别:
无返回值:
main()
{
……
fun1();
……
}
有返回值:
main()
{
int a;
……
a=fun2();
……
}
返回值是函数的计算结果,比如用函数计算1+1返回值就是2;
另外返回值并不一定的我们想要的结果,比如1+1如果返回3了,那就是函数代码有错误。
递归函数myPower的定义有逻辑错误,改成:
double myPower(int a,int b)
{
if(0==b) return 1;
return a*myPower(a,b-1);
}
如果改成这样,会更高效:
double myPower(int a,int b)
{
if(0==b) return 1;
if(1==b) return a;
return myPower(a,b%2)*myPower(a*a,b/2);
}
例子1
#include stdio.h
double myPower(int a,int b)
{
if(0==b) return 1;
return a*myPower(a,b-1);
}
int main()
{
int a=2,b;
for(b=0;b11;b++)
printf("%lf\n",myPower(a,b));
return 0;
}
例子2
#include stdio.h
double myPower(int a,int b)
{
if(0==b) return 1;
if(1==b) return a;
return myPower(a,b%2)*myPower(a*a,b/2);
}
int main()
{
int a=3,b;
for(b=0;b11;b++)
printf("%lf\n",myPower(a,b));
return 0;
}