【问题标题】:Addition of arrays in a function [closed]在函数中添加数组[关闭]
【发布时间】:2026-01-02 07:55:01
【问题描述】:
#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]);

}

}

【问题讨论】:

    标签: arrays c sum function-definition


    【解决方案1】:

    数组没有赋值运算符。

    看来您需要的是以下内容。

    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]);
    }
    

    【讨论】:

    • 真的非常感谢您的帮助,非常感谢您