What will be the output of the following program on GCC?

		
					

Loading

Choose the correct option.

What will be the output of the following program on GCC?

#include 
#include
#define NULL 0
int main(){
struct node{
int data;
struct node *link;
};
struct node *p,*q;
p=(struct node *) malloc(sizeof (struct node));
q=(struct node *) malloc(sizeof (struct node));
p->data=30;
p->link=q;
q->data=40;
q->link=NULL;
printf("%d ",p->data);
p=p->link;
printf("%d ",p->data);
return 0;
}

A. 30
40
B. 30
30
C. compiler error
D. 40
NULL