if(p=NULL){ printf("malloc failed.\n"); return; if语句那里,应该是p==NULL吧