• Lunes 29 de Abril de 2024, 05:18

Autor Tema:  Ejercicio En C  (Leído 1061 veces)

Apokalyptica79

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Ejercicio En C
« en: Viernes 29 de Junio de 2007, 19:57 »
0
Hola, hay un ejercicio en el cual me da la siguiente codificación:
Citar
/* Aplicacion de operadores */
#include <stdio.h>
main()
{
 int i = 15, j, k, l;

 j = (15 > i--) > (14 < ++i);
 printf( "El valor de j es: %d \n", j );

 k = ! ( 'b' != 'd' ) > ( !i - 1 );
 printf( "El valor de k es: %d \n", k );

 l = ( ! (34 > (70 % 2)) || 0 );
 printf( "El valor de 1 es: %d \n", l );
}
Este programa genera el siguiente resultado:
Citar
El valor de j es:0
El valor de k es:1
El valor de l es: 0
Tengo que averiguar que son esos valores que imprime, o sea que hace el programa.
Mis dudas son las siguientes:
1) Cuando pone:
j = (15 > i--) > (14 < ++i)
Es lo mismo que poner:
j = (15 > 15) > (14 < 16)
2) Cuando pone:
k = ! ( 'b' != 'd' ) > ( !i - 1 )
El ! delante de ( 'b' != 'd' ) significa que está negando que 'b' sea
distinto de 'd',
el ! delante de i significa que i en este caso no vale 15?
Gracias y perdón.  :(
Las personas inteligentes quieren aprender, los demás enseñar...

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Ejercicio En C
« Respuesta #1 en: Viernes 29 de Junio de 2007, 22:56 »
0
en el punto 1, si es lo mismo, y bueno en el punto dos, buneo ! es tan solo una negacion

por ejemplo cuando usas
Código: Text
  1. ( 'b' != 'd' )
  2.  
este te regresa 1 por que afirmativamente, 'b' != 'd', pero bueno si niegas el uno, pues tan solo te devuelve cero,

en el caso de
Código: Text
  1.  !i
  2.  
bueno como i vale 15 es decir tiene un valor devuelve 1, pero como lo niegas finalmente es cero.
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

Apokalyptica79

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Ejercicio En C
« Respuesta #2 en: Sábado 30 de Junio de 2007, 04:21 »
0
Hola Darktigerhell, muchas gracias, ahora entiendo que el 1 en este caso se refiere a verdadero y el 0 a falso, eso ya lo sabía porque lo habia leido antes pero no pensé que se aplicaba ese concepto en este ejemplo.
Nuevamente, muchas gracias.  :D
Las personas inteligentes quieren aprender, los demás enseñar...