Me refiero a que en C no existe una variable reservada que sea true o false a diferencia de otros lenguajes como Java o Python. C tiene truco:
- Para true, C devuelve cualquier número distinto de 0.
- Para false, C devuelve 0.
Con lo cual, para demostrar la veracidad o falsedad de una declaración solo tendremos que ver si es 0 o no.
Así podremos hacer cosas que antes se nos complicaban. Como, por ejemplo, identificar si un caracter está en mayúsculas o en minúsculas:
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
scanf("%c", &c);
if (islower(c)!=0) { /*Mira a ver si se cumple que c es minúscula (si la condición es true)*/
printf("Es minúscula");
} else printf("Es mayúscula");
}
*ctype.h es una librería bastante útil. Comprueba si un caracter está en blanco, es un número, una letra o un signo de puntuación, aparte de comprobar si es mayúscula o minúscula.
Sin embargo, a diferencia de Python, si quieremos repetir un bucle indefinidamente tendremos que poner una obviedad, lo que (en mi opinión) le quita sofisticación al código.
PYTHON:
while True:
a=a+1
C:
while (1==1) {
a=a++
}
#include <ctype.h>
int main() {
char c;
scanf("%c", &c);
if (islower(c)!=0) { /*Mira a ver si se cumple que c es minúscula (si la condición es true)*/
printf("Es minúscula");
} else printf("Es mayúscula");
}
*ctype.h es una librería bastante útil. Comprueba si un caracter está en blanco, es un número, una letra o un signo de puntuación, aparte de comprobar si es mayúscula o minúscula.
Sin embargo, a diferencia de Python, si quieremos repetir un bucle indefinidamente tendremos que poner una obviedad, lo que (en mi opinión) le quita sofisticación al código.
PYTHON:
while True:
a=a+1
C:
while (1==1) {
a=a++
}
No hay comentarios:
Publicar un comentario