因为fun里面的x是静态变量,会保留先前的值,所以main里面for循环三次,第一次s=2 ,第二次,fun返回的是2*2即4,也就是此时s = 2 * 4 = 8;第三次,fun返回的x = 4 *2=8,也就是最后s = 8 * 8 =64 这个很简单的程序,看不懂的话应该是你不懂static修饰变量的作用