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 E1 and E2?
- (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)
