下面程序段的功能是:统计不带头结点的链表first中的结点个数,请填空。 
struct link
{  struct link *next;
   char data;
};
struct link *first, *p=first;
int c=0;
while(    (1)    )
{  p=    (2)     ;
       (3)         ;
}