============================================= To compile this file, use CC -DFLAG=??? if.C ============================================= #if FLAG==10 You will see this line if the symbol "FLAG" is equal to 10 #else You will see this line if the symbol "FLAG" is not equal to 10 #endif You will always see this line, because it is outside any ifdef/ifndef #if FLAG!=10 Another line. You will see this line if the symbol "FLAG" is not equal to 10 #else Another line. You will see this line if the symbol "FLAG" is equal to 10 #endif