Es correcto?

Iniciado por jairogon, 2 Julio 2010, 00:45 AM

0 Miembros y 1 Visitante están viendo este tema.

jairogon

fact *=n==0 ? 1.0 : n;


Es correcto expresar lo anterior como


fact=fact*n;
if(fact==0) fact=1.0;
else fact=n;
:D

nicolas_cof

#1
jairogon, seria de esta forma

fact = fact * n;
if ( fact == 0 ) return 1.0;
else return n;


Lo anterior esta mal declarado ya que == tiene mas precedencia que *= por lo tanto tendria que quedar asi...

(fact *= n) == 0 ? 1.0 : n;

Salu10.

jairogon

Cita de: nicolas_cof en  2 Julio 2010, 00:53 AM
jairogon, seria de esta forma

fact = fact * n;
if ( fact == 0 ) return 1.0;
else return n;


Lo anterior esta mal declarado ya que == tiene mas precedencia que *= por lo tanto tendria que quedar asi...

(fact *= n) == 0 ? 1.0 : n;

Salu10.

O.K

THANKS