由于p只是fun函数的临时参数,p只是一个指向a的形参,并不是真正的a,所以原来的a还是指向a的本来位置。
如果fun函数里没有 p = b, 那就是你的那种选A,因为p也就是a, 但是因为赋值语句p = b, 所以p也指向了b那个数组,此时for里面的p[i] = b[i],已经没什么意义了。
for循环里面,把b赋值给了p,所以其赋值只是b[i] = b[i],并不改变a数组里面的数据
它的解答是对的。重点是
for(i=0,p=b;........
指针p的指向被重置了。(参数传递,白传了)