Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: mort en 31 Enero 2015, 21:46 PM

Título: Operador condicional ?: (Duda)
Publicado por: mort en 31 Enero 2015, 21:46 PM
Mi duda es la siguiente,  ¿porque el resultado de la operación entre contador % 2 es igual 1 se imprime "****" y si es 0 "++++++"?

¿Como se sabe que es lo que se va a imprimir?
¿ Cual es la condición si el resultado es 1 o 0?

no se si me explique, aquí esta el programa:

[/#include <stdio.h>

int main ()
{
int contador = 1;

    while (contador <= 10){
printf("%s\n", contador % 2 ? "****" : "++++++");
++contador;
}

system ("pause");

return 0;
}
]
Título: Re: Operador condicional ?: (Duda)
Publicado por: engel lex en 31 Enero 2015, 21:56 PM
por resumir
Código (cpp) [Seleccionar]
printf("%s\n", contador % 2 ? "****" : "++++++");

es igual a
Código (cpp) [Seleccionar]
if(contador%2){//si es diferente de 0, entonces ==true
  printf("%s\n", "****");
}else{
  printf("%s\n", "++++++");
}



ese operador puede ser visto como
algo ? if(true):if(false)