在n小于0时,返回的f没有赋值,是一个随机值,所以结果有错.
改正的程序见第2个源代码图和运行结果图.
改正后的程序和运行结果
程序运行的结果是:32
第一次调用:
p=4,k=1,t=2,
调用结束后k=2,t=3,返回值是4*2*3=24
第二次调用:
p=4,k=1,t=3,
调用结束后k=2,t=4,返回值是4*2*4=32
fun(int p)
{ int k=1
static t=2
k=k+1
t=t+1
return(p*k*t)
}
main( )
{ int x=4
fun(x)
printf(''%d\n'',fun(x))
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)