可是交换之前就已经移动了啊。a保存了q1指向的值后,q1就指向第二个了啊
追答我就得出的是这个啊
但是所有人都说是倒叙
追答不是到序,就是你说的那样,所有人都没认真看程序哦
追问谢谢你,郁闷一下午,我以为我理解错了
追答没有呢,相信自己,不行就用电脑验证一下
可是交换之前就已经移动了啊。a保存了q1指向的值后,q1就指向第二个了啊
追答楼上的答案是对的,我粗心了,没仔细看程序。
第一次运行a = *q1++时,a = A;q1指向B的地址
运行*q1 = *q2--时,*q1 = G,q2指向F的地址
运行*q2 = a 时,*q2 = A,即F的值变成A
第一次运行完成后,字符串变成AGCDEAG
第二次运行完成后,字符串变成AGADGAG
第三次运行完成后,字符串变成AGAAGAG
可是交换之前就已经移动了啊。a保存了q1指向的值后,q1就指向第二个了啊
追答*p1又被又被*p2的值覆盖了,不考虑那个。
只是把q1指向a,q2指向a+6,然后交换了他们的值。