帮一段C语言程序改错

[复制链接]
查看11 | 回复3 | 2011-11-22 14:14:57 | 显示全部楼层 |阅读模式
改成:float digui(float x,float n){static float sum=0;float i;if(n>=1){i=pow(sum,0.5);sum=i+x;digui(x,n-1);}return sum; //如果用else就会出现没有返回值的情况,结果就会出错。}...
回复

使用道具 举报

千问 | 2011-11-22 14:14:57 | 显示全部楼层
应该是数据溢出了吧。我记得我编一个程序的时候都是这样的。...
回复

使用道具 举报

千问 | 2011-11-22 14:14:57 | 显示全部楼层
你递归调用的返回值没有任何变量使用到,递归调用没起到预期作用 这样递归才有意义:sum=i+x+digui(x,n-1);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行