Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2012, 18:11
r_fuertes90
 
Fecha de Ingreso: mayo-2012
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Devolver direccion de un elemento N de un array

buenas,practicando para un exmanen, encontre este ejercicio:

Cita:
Dado un puntero p que almacena la dirección de memoria del primer elemento de un vector de n
elementos enteros, construir una función dirNulo para que la llamada a dirNulo(p, n)
devuelva la dirección de memoria del primer elemento del vector que sea igual a 0. Si no hay ningún
elemento igual a 0 entonces la función debe devolver el valor NULL.
Este es el codigo que eh escrito:

Código:
#include <stdio.h>
#include <stdlib.h>


int *dirnulo(int *p,int n){
	int i;
	for (i=0;i<n;i++){
		if (p[i]==0){
			
			return &p[i];
		}
		else {return p=NULL;}
	}
	

}

int main (){
	int linea[7],j;
	printf("poner 7 numeros\n");
	scanf("%i",linea);
	
	dirnulo(linea,7);
	for (j=0;j<7;j++){
		printf("elemento %i : %p\n",j+1,&linea[j]);
	}
	printf("elemento con 0 :%p\n",dirnulo);
	system("pause");

}
queria saber si la direccion q me devolvia era la correcta, x eso puse en pantalla la direccion de todos los componentes del array, pero no salen iguales. Se que e puesto alguna garrafada horrible en algun lado, pero no puedo encontrarla, alguien podria hecharme una mano? gracias d antemano por tomarse el tiempo.