有以下结构体说明和变量定义,如图所示,指针 p,q,rp,q,r 分别指向一个链表中的三个续结点。

struct node { int data; struct node *next;} *p,*q,*r;

现要将 qq 和 rr 所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( )

填写答案