Gate2017 cs Q22

0. Consider the C code fragment given below.
typedef struct node
{
int data;
node* next ;
} node;
void join(node* m, node* n)
{
node* p = n;
while (p->next != NULL)
{
p = p->next;
}
p–>next = m;
}
Assuming that m and n point to valid NULL- terminated linked lists, invocation of join will

  • Option : B
  • Explanation :
    In the given questions
    If lists are not NULL : Invocation of join will append list m to the end of list n if the lists are not NULL.
    Example:Before join operation :
    m =1->2->3->4->5->null
    n =6->7->8->9->nullAfter join operation :
    6->7->8->9->1->2->3->4->5->null
    & If lists are NULL : If the list n is empty and itself NULL, then joining and referencing would obviously create NULL pointer issue.
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *