若有定义: struct node { int data; struct node *next;}; 已建立如下图所示的链表: ┌─┬─┐ ┌─┬─┐ ┌─┬─┐ head →│2 │ ┼→│4 │ ┼→…→│28│ ┼→NULL └─┴─┘ └─┴─┘ └─┴─┘ 指针head指向链表首结点,以下函数的功能是( )。 void fun(struct node * head) { struct node * p = head; while(1) { p = p->next; printf("%d ", p->data ); if(!p) break; } }