Galera, eu sei q esse forum é de Java, mas eu fui ajudar um camarada do meu trampo com uma coisa e fiquei batendo cabeça com esse problema que eu acho que é simples.
A gente está tentando retornar um ponteiro de inteiros e não estamos conseguindo. Será q alguém pode me dar uma luz do meu problema!?
Segue o código:
#include <stdio.h>
int *retornaVetor();
int main() {
int *ptr;
ptr = retornaVetor();
printf("\n\n");
int i;
for (i = 0; i < 6; i++) {
printf("Valor do ponteiro eh: %i \n", *(ptr + i));
}
return 0;
}
int *retornaVetor() {
int my_array[] = {7,23,17,4,-5,100};
int *ptr;
ptr = my_array;
int i;
printf("\n\n");
for (i = 0; i < 6; i++) {
printf("Valor do ponteiro eh: %i \n", *(ptr + i));
}
printf("\n\n");
return ptr;
}
Oque eu fiz:
Na função "retornaVetor" ele imprime certinho o array q eu alimentei, já qndo eu tento imprimir no "main", ele me imprime uns números nada haver apartir do segundo elemento.
Segue o que é impresso:
//Dentro da funcao
Valor do ponteiro eh: 7
Valor do ponteiro eh: 23
Valor do ponteiro eh: 17
Valor do ponteiro eh: 4
Valor do ponteiro eh: -5
Valor do ponteiro eh: 100
//Dentro do main
Valor do ponteiro eh: 7
Valor do ponteiro eh: 3078892
Valor do ponteiro eh: [telefone removido]
Valor do ponteiro eh: 878951363
Valor do ponteiro eh: -2
Valor do ponteiro eh: 3078828
Oque eu estou fazendo de errado?
