Consider the following code snippet in C language that computes the number of nodes in a non-empty singly linked list pointed to by the pointer variable head.
struct node{
int elt;
struct node *next;
};
int getListSize (struct node *head)
{
if( E1 ) return 1;
return E2;
}
Which one of the following options gives the correct replacements for the expressions E 1 and E 2 ?
- A
E1: head == NULL
E2: 1 + getListSize(head)
- B
E1: head → next == NULL
E2: $1+$ getListSize(head → next)
- C
E1: head == NULL
E2: $1+$ getListSize(head → next)
- D
E1: head → next == NULL
E2: 1 + getListSize(head)
✓ Correct answer: B
Want the full step-by-step reasoning?