leetcode两数相加,为什么执行的时候输入为0
用的是C写的,编译能通过,但是执行的时候输入一直是0
struct ListNode* create(int data)
{
struct ListNode* head=malloc(sizeof(struct ListNode));
head->val=data;
head->next=NULL;
return head;
}
void insert(struct ListNode* l,int data)
{
struct ListNode* node=create(data);
node->next=l->next;
l->next=node;
}
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){
struct ListNode* p1=l1;
struct ListNode* p2=l2;
int temp1[3]={0};
int temp2[3]={0};
int r;
for(int i=2;i>=0;i--)
{
if(p1==NULL||p2==NULL)continue;
temp1[i]=p1->val;
p1=p1->next;
temp2[i]=p2->val;
p2=p2->next;
}
r=temp1[0]+temp1[1]*10+temp1[2]*100+temp2[0]+temp2[1]*10+temp2[2]*100;
struct ListNode *head;
head=create(r%10);
insert(head,(r/100));
insert(head,((r%100)/10));
return head;
}