问题在于变量x、y的作用范围。sub1这个过程中定义了自己的x和y,因此在其中的计算也是对这个x和y进行的。而函数fun1中没有定义x和y,因此使用的是全局的x、y变量。你计算得出fun1中x=6,y=4是没有错的,只不过这里的x和y指的是全局的x和y,sub1在执行了一次fun1以后,m=10,而它自己的x还是=5,因此第二次实际执行的是fun1(10,5)而不是fun1(10,6),从而x=10+5=15,y=10-5=5。