p3和head3没有分配存储空间,是野指针!!!补上:p3=(node*)malloc(sizeof(node));head3=p3;行了,其他的没问题,如果这是你自己编写的,不是看书背代码的,那么我可以肯定你算法学得相当的好,语言的细节可能没注意吧
我看你都用了malloc.h怎么不知道指针的空间分配?还有,所有内存空间要初始化。