递归中的终结条件改变了变量的值,并以空return返回,会改变上层函数中变量的值吗?
值传递和引用传递:
值传递只是值操作,对原来的数据没有影响,操作的对象一般是基本数据类型
引用传递则是对原来数据的真实操作,操作对象一般是类,接口,数组这种很常见的包装类型。
全局变量和函数参数(形参):
全局变量的形式,递归结束后必须对该变量修改,恢复原值;
函数参数的形式,因为递归调用函数时,实际上,从内存分布上看,每一层调用都保存了该层函数的参数,因此递归返回上层时,不会影响原参数值。
你用的是全局变量,还是说是形参,全局的话就会,形参就不会
看你变量是值传递的,还是引用传递的, 值传递不会,引用传递会。
若仅仅只是那个值传递的话,不会发生改变
所有的参数传递,都是值传递不改变之前的数据,因为值传递只是传了值,他们是两个不同的存储空间存放的数据,是两份数据,改了一个存储空间的数据,对另一个没影响
引用传递会改变之前的变量,因为引用传递传的是数据引用地址,最终的数据只有一份,当然是一改都改