#if..#else..#endif
#是在编译时处理的,属于预处理阶段,只会把符合条件的编译到可执行文件中;
例如:
#if 1
printf("11111\n");
#else
printf("else else \n");
#endif //结束#if
在编译时,代码printf("11111\n");会被编译到可执行文件中,printf("else else \n");则不会。
if....else
是条件判断语句,if和else的代码都会编译到可执行文件中去,在执行时,根据条件是否满足而执行对应的代码。
总结:#if..#else..#endif和if...else是不可以替换。