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?