程序中已构成如下图所示的不带头节点的单向链表结构 指针变量 s p q 均正确定义 并
程序中已构成如下图所示的不带头节点的单向链表结构 , 指针变量 s 、 p 、 q 均正确定义 , 并用于指向链表节点,指针变量 s 总是作为头指针指向链表的第一个结点。

若有以下程序段:
q=s; s=s->next; p=s;
while(p->next) p=p->next;
p->next=q; q->next=NULL;
该程序段实现的功能是
A) 首 结 点成为尾 结 点
B) 尾 结 点成为首 结 点
C) 删除首 结 点
D) 删除尾 结 点
请帮忙给出正确答案和分析,谢谢!