#include<stdio.h>
#define Y 10
int main()
{
#if X && Y || Z
printf ("A\n");
#else
printf("B\n");
#endif
}
Here else is satisfied B
is printed but if I use
#if !X && Y || Z
If is satisfied and A
is printed
My question is, If X and Z isn't defined, how's pre-processor solving the statement?