因为a是static静态变量,即使退出fun后,他依然被保存在内存中,不会被销毁,所以他的数据也保留,并且static int a=3;这句赋值语句只执行一次。所以n=fun(k);这句之后,就变成5了,并一直保存