struct ListNode* p1;
struct ListNode* p2;
struct ListNode* p3;
struct ListNode* p4;
struct ListNode* p6;
int num=0;
int m=0;
p1=l1;
p2=l2;
while(p1&&p2){
p3=(struct ListNode*)malloc(sizeof(struct ListNode));
if(num==0){
p6=p3;
num=1;
}
p3->val=0;
if(m==1){
p3->val++;
}
int c=p1->val+p2->val+p3->val;
if(c>=10){
p3->val=c%10;
m=1;
}else{
p3->val=c;
m=0;
}
p1=p1->next;
p2=p2->next;
p4=p3;
p3=p3->next;
}
if(!p1&&p2){
p4->next=p2;
if(m==1){
p2->val++;
}
if(p2->val>=10){
p2->val %= 10;
if(!p2->next) {
struct ListNode* p5=(struct ListNode*)malloc(sizeof(struct ListNode));
p5->val=1;
p5->next=NULL;
p2->next=p5;
}else{
p2->next->val++;
}
}
}
if(!p2&&p1){
p4->next=p1;
if(m==1){
p1->val++;
}
if(p1->val>=10){
p1->val %= 10;
if(!p1->next) {
struct ListNode* p5=(struct ListNode*)malloc(sizeof(struct ListNode));
p5->val=1;
p5->next=NULL;
p1->next=p5;
}else{
p1->next->val++;
}
}
}
if(!p2&&!p1){
p4->next=NULL;
}
return p6;
Line 70: Char 15: runtime error: member access within misaligned address 0xbebebebebebebebe for type 'struct ListNode', which requires 8 byte alignment [ListNode.c]
0xbebebebebebebebe: note: pointer points here
<memory cannot be printed>
有大佬能帮我看下哪里出问题了吗,改了好几次都是同样的报错