gpt4 book ai didi

c - c中的数组返回错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:06 26 4
gpt4 key购买 nike

我在返回行中收到错误。 “从结果类型为‘int’的函数返回‘int (*)[2]’的整数转换指针不兼容”有人可以解释这个错误背后的理论是什么以及如何修复它吗?我仍然得到正确的结果,但不知道这个错误。 (提示:我是初学者)这是我的测试代码。

#include <stdio.h>
#include<string.h>
/* two diminsanl array testing*/
int array_function(int phase,int array[][2]);
int main()
{
int phase =1;
int array[][2]={};
array_function(phase, array);

phase =2;
array_function(phase, array);
return 0;
}

int array_function(int phase, int array[][2])
{
if(phase==1)
{
array[0][0]=1;
array[0][1]=2;
array[1][0]=3;
array[1][1]=4;
}
if(phase==2)
{
printf("%d\n",array[0][0]);
}
return array; //<------------- error line
}

最佳答案

嗯,首先,您的函数期望返回一个 int,但您试图返回一个 int[][]

并且,您不能在 c 中按值返回数组。您需要返回一个指针,或将数组包装为 struct 的一部分。

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

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