What is the output of the following program? #include #incl…
What is the output of the following program? #include #include typedef struct Node { int value; struct Node* next; } Node; Node* Node_construct(int v) { Node* n = malloc(sizeof(Node)); n->value = v; n->next = NULL; return n; } Node* List_insert(Node* h, int v) { Node* p = Node_construct(v); p->next = h; return p; } void print_list(Node* h) { while (h != NULL) { printf(“%d “, h->value); h = h->next; } printf(“\n”); } int main() { Node* head = NULL; head = List_insert(head, 10); head = List_insert(head, 20); head = List_insert(head, 30); print_list(head); return 0; }