要统计链表中数据元素的个数,以下哪种改写方式是正确的? A. while (p->next!=null) { printf("%c",p->data); p=p->next; } B. while (p!=null) { printf("%c",p->data); p=p->next; } C. while (p->next!=null) { printf("%c",p->data); } p=p->next; D. while (p!=null) { printf("%c",p->data); } p=p->next; 答案解析 **A项**:缺少统计计数器,无法统计元素个数。**C项**:缺少输出语句,无法输出元素值。**D项**:缺少统计计数器,且缺少输出语句。**B项**:正确,在遍历链表的同时统计元素个数。 正确答案:B