为什么两个题一个值变,一个不变

img

22题中,函数里的a是局部变量,b是全局变量,所以a++修改的是局部变量,函数内输出的也是局部变量a,所以输出4,4。main函数里的a是全局变量,由于在函数内未修改全局变量a,所以a输出还是3,b是全局变量,函数里修改成4,所以main中输出也是4,最终是4434
23题中,在函数内实现了x和y的交换,所以输出5,3,但用指针作为参数时,函数内是无法修改外部指针的地址的,所以这个交换函数对外部的a,b变量不能起到交换作用,还是输出3,5所以最终是5,3,3,5

main方法里面的是全局变量,f方法里面的是局部变量。