Muchas veces en la programación habituamos a usar los booleanos y por alguna razón aveces empleamos el sistema de ellos en base a lo que necesitamos, dígase "1" para verdadero y "0" para falso y según nos acostumbramos a hacer estas asociaciones ligamos dicha sintaxis a nuestros software principalmente en ciclos que ejecutan una determinada acción u/o ciclos que son servicios o demonios que escuchan en espera de un evento específico.
Algunos ejemplos de estos son en los juegos con el ciclo principal, hilos que escuchan puertos en espera de conexiones u otro caso similar y se ven linea como "while(1)" en vez de "while(true)" y de vez en cuando cuando tenemos una función que retorna un booleano le ponemos al final "return 0" o "return 1" y el lenguaje no los acepta, ya que simbólicamente para el lenguaje estos representan lo mismo, pero ¿es en su totalidad cierto?
Aquí les muestro un código que rompe con cualquier lógica de aquellos que trabajamos con booleanos:
#include <stdio.h>
#define TRUE 1
#define FALSE 0
int function_returning_false() {
return FALSE;
}
int main() {
if(function_returning_false) {
printf("La funcion retorna True.\n");
}else {
printf("La funcion retorna false.\n");
}
}
Más adelante seguiré publicando más comportamientos extraños de los código, cualquier pregunta o sugerencia no dudar en preguntar.
No hay comentarios.:
Publicar un comentario