Note that in a circular linked list, the next of the last node points to the head of the list.
Let $\mathrm{p}$ be a variable pointer and $\mathrm{head}$ is the pointer of the circular linked list.
Now to insert a new record (node) $\mathrm{q}$, we have to loop through the linked list from the head to the last node like this pseudocode below.
p=head
while(p->next!=head)
{
p=p->next;
}
After finishing the loop, we will reach the last node meaning that $\mathrm{p}$ is now the last node. So we need to append the new node $\mathrm{q}$ to the next of $\mathrm{p}$. Then finally the next of $\mathrm{q}$ will have to point to the head since the linked list is circular. The pseudocode for this task is below.
p->next=q;
q->next=head;
$\therefore$ There needs modification of two pointers.
So the correct answer is B.