Data Structures | Linked List | Question 6
What is the output of following function in which start is pointing to the first node of the following linked list 1->2->3->4->5->6 ?
C
void fun( struct node* start)
{
if (start == NULL)
return ;
printf (\"%d \", start->data);
if (start->next != NULL )
fun(start->next->next);
printf (\"%d \", start->data);
}
|
(A)
1 4 6 6 4 1
(B)
1 3 5 1 3 5
(C)
1 2 3 5
(D)
1 3 5 5 3 1
Answer: (D)
Explanation:
The function prints the data of the current node and then recursively calls itself with the second next node (i.e., start->next->next).
So, it prints the data of every alternate node of the linked list i.e 1 3 5, and then, since the next->next of 5 is null, it returns and prints the data of the current node, so it then prints 5 3 1.
Therefore, for the given linked list 1->2->3->4->5->6, the function would print 1 3 5 5 3 1.
Quiz of this Question
Please comment below if you find anything wrong in the above post
Last Updated :
03 Feb, 2013
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...