可以看一下我的为啥不能运行吗?555

#include <stdio.h>
#include <stdlib.h>

int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
int i,j;
*returnSize=2; //规定返回值长度
int result=NULL;
for(i=0;i<numsSize-1;i++)
{
for(j=i+1;j<numsSize;j++)
{
if(nums[i]+nums[j]==target)
{
result=(int
)malloc(sizeof(int)*2);
result[0]=i; result[1]=j;
return result;
}
}
}
return result;
}
int main(void)
{
int target=3;
int nums[3]={1,2,3};
int numsSize=3;
int *returnSize;

twoSum(*nums, numsSize, target, *returnSize);
printf("%d",result[0]);
printf("%d",result[1]);    
return 0;

}

twoSum(nums, numsSize, target, *returnSize);


    #include <stdio.h>
    #include <stdlib.h>
    
    int twoSum(int* nums, int numsSize, int target, int* returnSize)
    {
        int i,j;
        *returnSize=2; //规定返回值长度
        int result = NULL;
        for(i=0;i<numsSize-1;i++)
        {
            for(j=i+1;j<numsSize;j++)
            {
                if(nums[i]+nums[j]==target)
                {
                    result=(int)malloc(sizeof(int)*2);
                    //result[0]=i; result[1]=j;
                    return result;
                }
            }
        }
        return result;
    }
    int main(void)
    {
        int target=3;
        int nums[3]={1,2,3};
        int numsSize=3;
        int *returnSize;
        
        twoSum(*nums, numsSize, target, *returnSize);
        printf("%d",twoSum(*nums, numsSize, target, *returnSize));   
        return 0;
    }