Sail E0 Webinar
Question
What is the output of the following code?#include#includestruct Node{     int val;     struct Node* next;}*head;int linear_search(int value){      struct Node *temp = head->next;      while(temp -> next != 0)      {            if(temp->val == value)            return 1;            temp = temp->next;      }      return 0;}int main(){     int arr[6] = {1,2,3,4,5,6};     int n = 6,i;     head = (struct Node*)malloc(sizeof(struct Node));     head->next = 0;     struct Node *temp;     temp = head;     for(i=0; inext = 0;           newNode->val = arr[i];           temp->next = newNode;           temp = temp->next;     }     int ans = linear_search(60);     if(ans == 1)       printf("Found");     else       printf("Not found");     return 0;}
Options:
A .  Found
B .  Not found
C .  Compile time error
D .  Runtime error
Answer: Option B


The condition in the while loop "temp->next == 0, checks if the current element is the last element. If the current element is the last element,the value of the current element is not compared with the value to be searched. So, even though the number 6 is present in the linked list, it will print not found.



Was this answer helpful ?
Next Question

Submit Solution

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

Latest Videos

Latest Test Papers