Page 172

3.5 Paso de par´ametros

4 5 6

// Define aqu´ı la funci´ on ...

7 8 9 10

int main(void) { int v[TALLA], distancia, encontrado, buscado, i;

11

for (i=0; i<TALLA; i++) { printf ("Introduce el elemento %d: ", i); scanf ("%d", &v[i]); }

12 13 14 15 16

?

printf (" Qu´ e valor busco?: "); scanf ("%d", &buscado);

17 18 19

encontrado = busca(v, TALLA, buscado, &distancia); if (encontrado) printf ("Encontr´ e el valor %d.\n", buscado); else printf ("No est´ a. El elemento m´ as pr´ oximo est´ a a distancia %d.\n", distancia);

20 21 22 23 24 25

?

printf (" Qu´ e valor busco ahora?: "); scanf ("%d", &buscado);

26 27 28

encontrado = busca(v, TALLA, buscado, &distancia); if (encontrado) printf ("Encontr´ e el valor %d.\n", buscado); else printf ("No est´ a. El elemento m´ as pr´ oximo est´ a a distancia %d.\n", distancia);

29 30 31 32 33 34

return 0;

35 36

}

Al ejecutar el programa obtenemos esta salida por pantalla:  

Introduce el elemento: 0 Introduce el elemento: 5 Introduce el elemento: 10 Introduce el elemento: 15 Introduce el elemento: 20 Introduce el elemento: 25 Qu´ e valor busco?: 5 Encontr´ e el valor 5. Qu´ e valor busco ahora?: 17 No est´ a. El elemento m´ as pr´ oximo est´ a a distancia 2.    





? ?

· 187 Modifica la funci´ on del ejercicio anterior para que, adem´as de la distancia al elemento m´as pr´ oximo, devuelva el valor del elemento m´as pr´oximo. · 188 Modifica la funci´ on del ejercicio anterior para que, adem´as de la distancia al elemento m´as pr´ oximo y el elemento m´ as pr´ oximo, devuelva el valor de su ´ındice. .............................................................................................

3.5.6.

Paso de registros a funciones

No s´olo puedes pasar escalares y vectores como argumentos, tambi´en puedes pasar registros. El paso de registros es por valor, o sea, copiando el contenido en la pila, a menos que t´ u mismo pases un puntero a su direcci´ on de memoria. Este programa, por ejemplo, define un tipo de datos para representar puntos en un espacio de tres dimensiones y una funci´ on que calcula la distancia de un punto al origen: 166

Introducci´ on a la Programaci´ on con C

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement