#include <stdio.h>
#include <stdlib.h>
int* uniao(int *v1, int n1, int *v2, int n2){
int tamanhov3, i, i2=0, i3 =0;
tamanhov3=n1+n2;
int v3[tamanhov3];
for(i=0; i<tamanhov3; i++){
if(i<n1){
v3[i] = v1[i2];
i2++;
}
else{
v3[i] = v2[i3];
i3++;
}
}
for(i=0;i<tamanhov3; i++)
printf("%d", v3[i]);
printf("\n");
printf("esse eh v3: %d\n", v3);
return v3;
}
int main()
{
int i, tamanhov1, tamanhov2;
tamanhov1=4;
tamanhov2=3;
int v1[tamanhov1], v2[tamanhov2];
printf("Escreva os %d elementos do vetor 1: \n", tamanhov1);
for(i=0;i<tamanhov1;i++)
scanf("%d", &v1[i]);
printf("Escreva os %d elementos do vetor 2: \n", tamanhov2);
for(i=0;i<tamanhov2;i++)
scanf("%d", &v2[i]);
int* p;
p = uniao(v1, tamanhov1, v2, tamanhov2);
for(i=0;i<7; i++)
printf("%i\n", *(p++));
return 0;
}
estou tentando fazer um código, ele tem 2 vetores na int main. Executa uma função e ela cria um terceiro vetor que é a junção dos 2 vetores da int main. Até ai tudo bem, mas não estou conseguindo retornar esse terceiro vetor para a minha main. Não entendo porque o return não está dando certo