递归函数被调用时,系统会运行一个运行工作栈,用来保存信息,包括(调用函数的返回地址,调用函数的局部变量值),在没进入下一层递归调用时,系统就建立一个新的工作记录,并把这个工作记录压栈;;每返回一层递归调用,就出栈一个工作记录。
其实在函数递归掉用的时候,每调用一次都会在所调用函数的运行空间里存储一个a的,所以其实存在很多很多的不同的a,他们各自的存储空间是不一样的,当然能存储不同的取值了。
递归函数被调用时,系统会运行一个运行工作栈,用来保存信息,包括(调用函数的返回地址,调用函数的局部变量值),在没进入下一层递归调用时,系统就建立一个新的工作记录,并把这个工作记录压栈;;每返回一层递归调用,就出栈一个工作记录。
其实在函数递归掉用的时候,每调用一次都会在所调用函数的运行空间里存储一个a的,所以其实存在很多很多的不同的a,他们各自的存储空间是不一样的,当然能存储不同的取值了。