How can the C compiler understand isOn
as false if the return value of the variable is 0
?
enum bool { false, true };
typedef enum bool boolean;
int main()
{
boolean isOn = false;
printf("%d\n", isOn);
if(!isOn)
printf("IS FALSE");
return 0;
}
Do C understand 0
as null and all other numbers as non-null?