以下哪个操作是用来求单链表的长度? A. len = 0; while(p != NULL) { len++; p = p->next; } B. len = 1; while(p->next != NULL) { len++; p = p->next; } C. len = 0; while(p != NULL) { len--; p = p->next; } D. len = 1; while(p != NULL) { len++; p = p->next; } 答案解析 求单链表的长度需要遍历链表,并对经过的节点计数。选项A正确地初始化长度为0,并在遍历链表时递增长度。选项B错误地初始化长度为1,导致最终长度多1。选项C在遍历过程中递减长度,这是错误的。选项D虽然遍历过程正确,但错误地初始化长度为1。 正确答案:A