[ Foro de C ]

Explicación de un ejemplo en C

04-Apr-2019 01:51
Invitado (Fruz)
2 Respuestas

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;
}


 


05-May-2019 00:28
luis martinez (+1)

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*/
}
}


 


05-May-2019 00:30
luis martinez (+1)

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.)