十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
返回值是函数的计算结果,比如用函数计算1+1返回值就是2;
成都创新互联专业为企业提供巴马网站建设、巴马做网站、巴马网站设计、巴马网站制作等企业网站建设、网页设计与制作、巴马企业网站模板建站服务,10年巴马做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
另外返回值并不一定的我们想要的结果,比如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;
}
首先函数:char
strcat
(char
x[],char
y[])返回值是char型
你在函数中却返回char型指针。
其次for语句:for
(i
=
m;i
=
m
+
n;i
++)
m+n要大于x,y字符串的长度,可能会越界。
无返回值就是函数只执行数据处理,不返回值。函数定义时一般用void关键字表示无返回值。
如调用string类库中的int
i
=
strcmp("abc",
"abc")函数判断两个参数是不是相等,两个都"abc"
则i
=
0,这是有返回值的