想用指针实现冒泡排序但每一次的循环都被覆盖

不知道为什么修改指针的值无法修改数组内的数值??
代码如下:

img

运行结果如下:

img

修改形参不会改变实参
你想在函数里通过改变形参而改变实参,传的必须是指针
你把指针定义在函数外面,函数里面传的还是值,传了个寂寞
-=-=-=-=-=
指针就是指向其他内存的一个东西,你可以把它理解成藏宝图
你先画了一张藏宝图,然后给我,告诉我把宝藏埋进你画的这个位置,我照做之后,你去挖就能挖到宝藏
而如果你画了一张藏宝图,我把藏宝图本身改掉了,你如果不把藏宝图拿回去看,还去原来的地方挖,当然什么都挖不到了
所以涉及指针的变化,你要搞清楚到底是什么东西在变,是指针在变还是宝藏在变
回到你这个问题,那么又跟上面两种情况不一样,因为参数类型是int,传进来的时候传的只是一个副本
那么相当于给珠宝照了个照片
两个珠宝商互相交换钱的照片和珠宝的照片,就算完成交易了吗?
-==-=-=-=-
再换个方式理解
函数参数传值其实一点都不神奇,它跟两个变量直接赋值是一样一样的
比如
int a=0;
int b=a;
b=1;
此时b改变了而a并不会改变,这里a就相当于实参,b相当于形参
如果改成int *b=&a;*b=1;那么就可以改变a