在函数中添加数组

问题描述

#include <stdio.h>

当我尝试在函数中写入数组时,问题就从这里开始

 int suma(int a[i],int b[i],int i){


    return a[n] + b[n];

}


void main(void){

int i,n,num;


do{
      printf("Ingrese el tamaño de los vectores: ");
      scanf("%i",&n);
        if (n>50){
             printf("Ingrese el tamaño de los vectores: ");
             scanf("%i",&n);
             num==0;
        }

        else if (n<=50){

            num++;
        }

}while (num==0);

int vec1[n],vec2[n],vec3[n];

for (i=0;i<n;i++){

    printf("Introduce los valores para el primer vector: \n");
    scanf("%i",&vec1[i]);

}

for (i=0;i<n;i++){

    printf("Introduce los valores para el segundo vector: \n");
    scanf("%i",&vec2[i]);

}

    printf("La suma de los dos vectore es: \n");

    for (i=0;i<n;i++){

这里应该是vec3 [i] = vec1 [i] + vec2 [i],但我需要使用一个函数

    vec3[i]=suma(vec1[i],vec2[i]); 

    printf("Posicion %d -->%i\n",i,vec3[i]);

}

}

解决方法

数组没有赋值运算符。

似乎您需要的是以下物品。

void suma( int a1[],const int a2[],const int a3[],int n )
{
    for ( int i = 0; i < n; i++ )
    {
        a1[i] = a2[i] + a3[i];
    }
}

并在输出结果数组之类的循环之前调用此函数

suma( vec3,vec1,vec2,n );

然后

for (i=0;i<n;i++){
    printf("Posicion %d -->%i\n",i,vec3[i]);
}