elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Duda C] Ayuda a comprender un código.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda C] Ayuda a comprender un código.  (Leído 2,155 veces)
josevc

Desconectado Desconectado

Mensajes: 15


Ver Perfil
[Duda C] Ayuda a comprender un código.
« en: 3 Noviembre 2012, 18:25 pm »

Buenas, tengo el siguiente código, el cual calcula el factorial de un número:

Citar
#include <stdio.h>

int main(){

int num,copianum;
long unsigned fact=1;


do{
puts("Introduce numero");
scanf("%d",&num);
}while(num<0);

copianum=num;
while(num>1)
fact*= num--;


printf("El factorial de %d es %lu\n",copianum,fact);
system("pause");
return 0;
}


Estoy tratando de descifrar como funciona, pero es esto lo que no comprendo del todo:

Citar
while(num>1)
fact*= num--;

num--, ¿Es igual a num-1 ?

Pense que sería lo mismo poner:

fact=fact*(num-1)

Pero al sustituirlo el programa no funciona, entonces estoy algo perdido, ¿como se interpreta: fact*=num-- ?

Espero vuestra ayuda,

Muchas gracias.







En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: [Duda C] Ayuda a comprender un código.
« Respuesta #1 en: 3 Noviembre 2012, 18:34 pm »

Código
  1. while (num>1) fact*=num--;

esto es equivalente a esto otro:

Código
  1. while (num>1) {
  2.     fact=fact*num;
  3.     num--; // num=num-1;
  4. }

un saludo!


En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: [Duda C] Ayuda a comprender un código.
« Respuesta #2 en: 3 Noviembre 2012, 18:37 pm »


Código
  1. while (num>1) fact*=num--;

tambien es equivalente a

Citar
while(num>1) {

fact = fact * num;
num = num -1;
}
« Última modificación: 3 Noviembre 2012, 18:44 pm por Stakewinner00 » En línea

josevc

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: [Duda C] Ayuda a comprender un código.
« Respuesta #3 en: 3 Noviembre 2012, 18:41 pm »

Muchas gracias por vuestras respuestas, y rapidez.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda, necesito comprender esto
Electrónica
DrakoX 2 2,673 Último mensaje 15 Julio 2006, 02:30 am
por DrakoX
Duda con con codigo chat ayuda!!!
Java
shin_akuma 6 3,996 Último mensaje 26 Marzo 2008, 21:09 pm
por Burnhack
Ayuda para comprender un codigo en PHP
PHP
Velku 8 5,360 Último mensaje 5 Agosto 2009, 04:50 am
por дٳŦ٭
[duda] comprender el JPEGsnoop
Diseño Gráfico
dolka 1 3,386 Último mensaje 18 Septiembre 2009, 17:04 pm
por Azielito
Ayuda para comprender CDATA
Desarrollo Web
sReOn_1R 1 6,345 Último mensaje 24 Septiembre 2010, 15:22 pm
por [D4N93R]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines