递归时如何保存中间参数的值
下在的一个递归中,如何使else主体中的四个递归函数的randomVal值保持一致?谢谢
void mountainGen(int num,double a1x,double a2x,double a3x,double a4x)
{
if(num==0)
{
//连接各点
}
else
{
randomVal=rand();//产生随机数
mountainGen(num-1,a1x,0.5*(a1x+a2x),0.25*(a1x+a2x+a3x+a4x)+randomVal,0.5*(a1x+a4x));
mountainGen(num-1,0.5*(a1x+a2x),a2x,0.5*(a2x+a3x),0.25*(a1x+a2x+a3x+a4x)+randomVal);
mountainGen(num-1,0.5*(a2x+a3x),a3x,0.5*(a3x+a4x),0.25*(a1x+a2x+a3x+a4x)+randomVal);
mountainGen(num-1,0.5*(a3x+a4x),a4x,0.5*(a1x+a4x),0.25*(a1x+a2x+a3x+a4x)+randomVal);
}
}