[ Foro de C ]
Hola! ¿Alguien me puede explicar, línea por línea, lo que hace este ejemplo del libro de Ritchie y Kernighan?
#include <stdio.h>
int power(int m, int n);
/* prueba la función power */
main()
{
int i;
for (i = 0; i < 10; ++i)
printf ("%d %d %d\n", i, power(2,i), power (-3,i);
return 0;
}
/* power: eleva la base a la enésima potencia; n > = 0 */
int power(int base, int n)
{
int i, p;
p = 1
for ( i = 1; i < = n; + + i)
p = p * base
return p;
}
hola, modifique un poco el código para que pueda ser compilado.
Este es un programa que eleva un numero a una potencia, es decir, inserta un entero y lo eleva a otro;esto se da en la función power por tanto la funcion requiere el ingreso de estos dos datos, y la funcion es probada en un main con dos numeros fijos: el 2 y el -3 que son la base y una variable i que se ingrementa de 1 en 1 y que va de 10 a 9
#include <stdio.h>
int power(int m, int n);//declara la funcion power
int main()/* prueba la función power */
{
int i;
for (i = 0; i < 10; ++i){
printf ("%d %d %d\n", i, power(2,i), power (-3,i));/*llama a la funcion power 2 veces e imprime el resultado de la operacion*/
return 0; /*realizada en la funcion en los dos casos*/
}
}
/* power: eleva la base a la enésima potencia; n > = 0 */
power(int m, int n){/*especifica que hace la funcion power no es necesario se ingresan 2 enteros*/
int i, p;
p = 1;
for ( i =1; i <=n;i++){
p = p * m;
return p;/*retorna el resultado despues de elevar la base a la n potencia*/
}
}
Perdón en la explicación me equivoque, la variable i del main se incrementa de 0 a 9
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)