问题描述
#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]);
}