每次调用递归函数,静态变量保持上一次的值,怎么清零

在递归函数中,定义了静态变量,如何在递归完成后,清空变量?

public funcion f1(byval aa as string)
static temp as interger
for i=0 to 100
temp=temp+1
f1 (k)
next
end function

在temp变量使用完以后,我想把它清空,即:temp='',我试了很多方法都不行:
第一次调用f1()时没问题,但第二次、第三次调用f1()的时候,temp不是从''开始调用,而是从上一次调用的结果值,如何在f1()调用完后关闭static,而下次调用f1()时,static变量又从''开始??
(不能在next后面加上 temp='',这样每个递归时temp都会被清空,得到的结果不正确)

k从哪来的???

别在函数里定义静态变量,你宁可把它拿出来变成全局变量也比这样强
实际上你应该把它当形参一起向下传递