Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/05/2012, 19:12
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Devolver direccion de un elemento N de un array

Para empezar la funcion tiene un error:

Código C:
Ver original
  1. int *dirnulo(int *p,int n){
  2.     int i;
  3.     for (i=0;i<n;i++){
  4.         if (p[i]==0){
  5.             return &p[i];
  6.         }
  7.     }
  8.     return NULL;
  9. }

El return NULL tiene que estar al final de la funcion, fuera del for.

Por otro lado, en el main nunca cargas elementos en el array. Ademas, ejecutas la funcion dirNulo pero nunca capturas su valor.

Código C:
Ver original
  1. int main (){
  2.     int linea[7],j  , * p;
  3.     printf("poner 7 numeros\n");
  4.         for (j=0;j<7;j++) scanf("%d",&linea[i]);
  5.    
  6.     p = dirnulo(linea,7);
  7.     for (j=0;j<7;j++){
  8.         printf("elemento %i : %p\n",j+1,&linea[j]);
  9.     }
  10.     printf("elemento con 0 :%p\n",*p);
  11.     system("pause");
  12.  
  13. }

Espero que te sirva