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;}
Answer: Option B
Was this answer helpful ?
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 ?
Submit Solution