答案是对的,但是提交就说我错百分百错服了

问题遇到的现象和发生背景
#include<stdio.h>
#include<malloc.h>
void sort(int *p,int,int *sum1,int *sum2)
{
    int i,n;
    *sum1=0;
    *sum2=0;
    for(i=0;i<n;i++)
    {
        if(*(p+i)%2==1)
        {
            *sum1+=*(p+i);
        }
        else
        {
            *sum2+=*(p+i);
        }
    }
        
}
int main()
{
    int *p=NULL,sum1,sum2,n,i;
    scanf("%d",&n);
    p=(int *)malloc(sizeof(int)*n);
    
    for(i=0;i<n;i++)
    {
        scanf("%d",p+i);
    }
    sort(p,n,&sum1,&sum2);
    printf("%d %d",sum1,sum2);
         
}

问题相关代码,请勿粘贴截图

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
#include<malloc.h>
void sort(int *p,int n,int *sum1,int *sum2)
{
    int i;
    *sum1=0;
    *sum2=0;
    for(i=0; i<n; i++)
    {
        if(*(p+i)%2==1)
        {
            *sum1+=*(p+i);
        }
        else
        {
            *sum2+=*(p+i);
        }
    }
}
int main()
{
    int *p=NULL,sum1,sum2,n,i;
    scanf("%d",&n);
    p=(int *)malloc(sizeof(int)*n);
    for(i=0; i<n; i++)
    {
        scanf("%d",p+i);
    }
    sort(p,n,&sum1,&sum2);
    printf("%d %d",sum1,sum2);
}


绝对100%错

你这个运行不了