gpt4 book ai didi

c - 返回索引中的段错误

转载 作者:行者123 更新时间:2023-11-30 20:57:25 24 4
gpt4 key购买 nike

int* twoSum(int* nums, int numsSize, int target, int* returnSize){

int i = 0, j = 0;

for(i=0; i < numsSize; i++)
{
for(j = i+1; j < numsSize; j++)
{
if(nums[j] == target - nums[i])
{
int *index = (int *)malloc(sizeof(int) * 2);
index[0] = i;
index[1] = j;
return index;
}
}
}
return NULL;
}

我正在编写以下代码

给定 nums = [2, 7, 11, 15], target = 9,

因为nums[0] + nums[1] = 2 + 7 = 9,返回[0, 1]

我尝试调试代码,i 和 j 值如预期的 0 和 1。但现在我在返回索引时遇到了问题。它显示为段错误。谁能更正上面的代码吗?

最佳答案

看起来像是 codeforces 或类似的平台问题。发生段错误是因为您尚未设置调用者传递的 returnSize ,因为释放返回的数组需要相同的设置。因此解决方案是将 returnSize 设置为 2。

关于c - 返回索引中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59954948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com