收起
swap函数的形参是指针,所以实参传入的肯定是指针。*是取值,如果仅仅把指针里的值传到swap里,就无法交换实参的值了。举个例子,如果加*,就是把作业给他抄一份过去传入函数,他自己再怎么折腾,都影响不了被抄的作业本。而直接把指针传递过去,就是把作业本直接借给函数,函数里可以修改作业本上的内容。q1,q2,q3是指针,相当于三个盒子,三个空间的地址,你要把空间的地址给swap,它才能修改里面放什么东西;如果仅仅把盒子,空间里的东西传递给swap,它是没办法修改盒子和空间里放什么内容的。
报告相同问题?