这个是力扣界面上执行的代码
题目
结果
但是我在编译器中执行是有结果的的
#include <stdio.h>
#include <stdlib.h>
int* twoSum(int* nums, int numsSize,int target);
int main()
{
int nums[] = { 3,2,4 };
int* p = NULL;
p = twoSum(nums, sizeof(nums) / sizeof(nums[0]), 6);
printf("%d\n%d", *p, *(p + 1));
free(p);
return 0;
}
int* twoSum(int* nums, int numsSize, int target)
{
int* p = malloc(sizeof(int) * 2);
if (nums != NULL)
{
int a = 0;
for (int i= 0; i < numsSize; i++)
{
int tem = *(nums + i);//临时数据
if (tem >= target)
{
continue;
}
int iVal;
iVal = target - tem;
if (a == 1)
{
break;
}
*p = i;
for (int j = i + 1; j < numsSize; j++)
{
if (*(nums + j) == iVal)
{
*(p+1) = j;
a = 1;
break;
}
}
}
}
return p;
}
为什么力扣出来的不对呢 我应该怎么做呢