| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
w_elfo
Registrado: 22 Nov 2004 Mensajes: 7
| | | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 3602 Ubicación: Mexico
| Publicado: 02/02/2005 11:42 am | | | Título: |
| Si quieres pasar los parametros por 'referencia' tienes que modificar tu programa, los pasos a realizar para el paso por referencia son:
* En la definicion de la funcion indica que el parametro es un puntero, para esto precedes el nombre del parametro con un asterisco.
* Dentro de la funcion el nombre del parametro tambien debe ser precedido por un asterisco.
* Cuando llamas a la funcion utilizas el operador 'direccion de' (el caracter '&').
Una posible solucion es:
| Código: | #include <conio.h> #include <stdio.h>
float potencia(int a, int *b){ if (*b == 0) return 1; else { (*b)--; return (a * potencia(a, b)); } }
int main(void){ int c, d; float r; clrscr(); printf("c:"); scanf("%d", &c); printf("d:"); scanf("%d", &d); r = potencia(c, &d); printf("R= %f\n", r); getch(); return 0; } |
Un saludo |
| | Volver arriba | |  | w_elfo
Registrado: 22 Nov 2004 Mensajes: 7
| Publicado: 02/02/2005 12:30 pm | | | Título: |
| Gracias, me faltaba poner lo del *b--, por eso me marcaba errores
De cualquier forma gracias por la ayuda
 |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |