gpt4 book ai didi

c - 我无法从函数中取出我的数组到 c 中的 main

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

escribirVect(suma[MAX]) 中,编译器告诉我 suma 未声明,但我在函数 sumarV 中声明了它,如何在 main 中使用我的变量“suma”?

#include <stdio.h>
#define MAX 10

void leerVect(int vect[MAX]);
void escribirVect (int v[MAX]);
void sumarV (int vector1[MAX], int vector2[MAX]);

int main ()
{
int vector1[MAX], vector2[MAX];
printf("Introduzca los valores del primer vector: \n");
leerVect(vector1);
printf("Introduzca los valores del segundo vector: \n");
leerVect(vector2);
sumarV(vector1, vector2);
escribirVect(suma[MAX]); // here is the problem

return 0;
}

void leerVect(int v[MAX])
{
int i;
for (i=0; i<MAX; i++)
{
printf("Introduzca el valor de v[%d]: ", i);
scanf("%d", &v[i]);
}
}

void escribirVect (int v[MAX])
{
int i;
for (i=0; i<MAX; i++)
{
printf("El valor de la suma de el elemento v[%d] es: %d \n", i, v[i]);
}
}

void sumarV (int vector1[MAX], int vector2[MAX])
{
int suma[MAX], i; //here is the problem
for (i=0; i<MAX; i++)
{
suma[i]=vector1[i]+vector2[i]; //here is the problem
}
}

当我在代码中注释“问题出在这里”时,问题就消失了。

最佳答案

main 中声明 suma 并将其传递给 sumaV()

int main ()
{
int vector1[MAX], vector2[MAX], suma[MAX];

...
sumarV(vector1, vector2, suma);

然后,在函数中

void sumarV (int vector1[MAX], int vector2[MAX], int suma[MAX])
{
int i;
for (i=0; i<MAX; i++)
{
suma[i]=vector1[i]+vector2[i];
}
}

最后,不要传元素个数

escribirVect(suma[MAX]);  // here is the problem

只需传递数组,它会衰减为指向第一个元素的指针:

escribirVect(suma);

关于c - 我无法从函数中取出我的数组到 c 中的 main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53046604/

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