gpt4 book ai didi

c - 在 C 中从函数返回数组到 main?

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

将数组返回给main的方法是什么?我知道数组已创建但无法返回它,所以当我尝试使用它时显示“赋值中的类型不兼容”?

int* get_array(){

int i = 0, j;
int *array = malloc(6);
srand(time(NULL));

while (i != 6)
{
int random_number = ((rand() % 49) + 1);
int ok = 1;

for (j = 0 ; ok && j != i ; j++)
{
ok &= (random_number != array[j]);
}

if (ok)
{
array[i++] = random_number;
}
}
return array;
}

然后从主调用它:-

int main()
{

int i;
int* get_lotto_numbers();
int numbers[6];

numbers = get_lotto_numbers();

for(i = 0; i < 6; i++)
{
printf("%d ", numbers[i]);
}
}

任何意见都会有所帮助,谢谢。

最佳答案

C 中的数组是不可修改的左值。将 main() 中的 int numbers[6] 更改为 int *numbers 就可以了。

确保 free() 它!

编辑说明:在 main 函数中声明 get_lotto_numbers 有点奇怪。

关于c - 在 C 中从函数返回数组到 main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22520624/

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