下列给定函数Creatlink的功能是:创建带头结点的单向链表,并为各结点数据0到m-1的值。 ”/********found*****/”之后所指的语句有错,请选择下列正确的语句替换。 #include #include typedef struct aa { int data; struct aa *next; } NODE; NODE *Creatlink(int n, int m) { NODE *h=NULL, *p, *s; int i; /**********found***********/ p=(NODE )malloc(sizeof(NODE)); h=p; p->next=NULL; for(i=1; i<=n; i++) { s=(NODE *)malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; } return h; } outlink(NODE *h) { NODE *p; p=h->next; printf("\n\nTHE LIST :\n\n HEAD "); while(p) { printf("->%d ",p->data); p=p->next; } printf("\n"); } main() { NODE *head; head=Creatlink(8,22); outlink(head); } A. p=malloc(sizeof(NODE)); B. p=(void *)malloc(sizeof(NODE)); C. p-=(NODE )malloc(sizeof(NODE)); D. p=(NODE *)malloc(sizeof(NODE));