C语言代码求助

这个函数的返回值老是显示错误,哪位大哥解答一下,为啥返回值不能用这个?float*center(inta){inti;floatnum;if(a%2==0){for(i=... 这个函数的返回值老是显示错误,哪位大哥解答一下,为啥返回值不能用这个?
float *center(int a)
{
int i;
float num;

if(a%2==0)
{for(i=2;i<=a;i=i+2)
{
num=1.0/i+num;
}
}
else if(a%2!=0)
{
for(i=1;i<=a;i=i+2)
{
num=num+1.0/i;
printf("奇数是%f\n",num);
}
}
printf("结果是%f\n",num);

return num;
}
展开
 我来答
夏天的小红花

2019-09-24 · TA获得超过4809个赞
知道大有可为答主
回答量:1万
采纳率:83%
帮助的人:692万
展开全部
不是说函数的返回值,不能用这个,而是这个函数的编写他自身的问题。
因为这里返回的是变量num的值,在这个函数中,num作为一个累加器来使用,但是他却没有赋初值为0,问题只是出在这儿。
在声明变量的时候,把它改为float num=0;就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式