首先初始化是init不是int,我还以为你要写整形链表。然后一般malloc也在init函数里面,你的sum还没有初始化。
其次你最后的求和问题是最大的,head和phead都没有写入东西怎么能比较?第一个写入的是head的下一个结点。
然后题目说幂指数是严格升序,你的代码也是按升序写的,但是你输入为什么是降序?你的代码让较小的链表结点后移,输入又是递减的很矛盾了。比如q是x²+x
p是x³+x²一开始x²和x³比较然后q后移让x和x³比较,p永远不会动。其次这种比较也有问题,比如q是x²+x p是x²。一开始比较x²然后后移,第二次p就指向空结点了。然后for从i到max也有问题,应该用两个结点有没有到尾巴进行判断循环