if(head==NULL){head=p;}错在双等号表示等于判断,以后写NULL与变量的判断,NULL写在前面,NULL =head 这样就会报错,能够找到自己出错的地方,head =NULL 逻辑上错了,语法上正确,不易查找到出错点
这个是指针越界的提示。if(head=NULL)这里判断相等应该是两个等号
if(head = NULL){ head = p;}
这里出错了。像这种写法,建议写成:
if(NULL == head)
因为你的程序有问题