为啥运行出来啥不显示结果呀

#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;

}

修改如下,供参考:

#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; //int* returnSize; 修改
    int* result;   //修改

    //twoSum(*nums, numsSize, target, *returnSize);
    result = twoSum(nums, numsSize, target, &returnSize); //修改
    if (result != NULL)                                    //修改
        for (int i = 0; i < returnSize; i++)               //修改
            printf("nums[%d] = %d\n", result[i], nums[result[i]]);
    else
        printf("No Find\n");                              //修改
    //printf("%d", twoSum(*nums, numsSize, target, *returnSize));
    return 0;
}

return 0;前加个卡屏或者死循环??程序太快,一闪而过???