因为fun函数里面没有return,没有返回值就不会影响主函数里面的值,所以输出还是xy原来的值
可以这样理解,两个x, y不是同一组数据,它们的地址不同,main函数中的x, y只是把它们表示的值传入fun函数,并不是把他们自身传入。
可以将fun里面的x y看成其他比如m n
fun里面的是将m n赋值而不是main里面的x y
main里面的x y在开始赋值后没有变动
因为这是值传递,并没有影响到主函数里的对应变量,因此输出原值。
fun函数里面的变量属于局部变量,main函数中,调用了fun函数,并将x=1,y=2作为参数传递过去,所以在fun函数会打印出x=1,y=2.然后执行
x=3,y=4(这里并没有return 回去)到此fun函数运行结束,跳转会main函数,main函数执行printf方法,将x=1,y=2打印出来