#if 0在代码中有2个作用。
#1.作为行内注释
/**/是多行注释,如果想在/**/里面嵌套一个多行注释,怎么办呢?
/*
int a=10;
/*
- (void)test{
NSLog(@"This is a test!");
}
*/
//这种写法会报错因为第一个/\*会和第一个\*/配对,导致末尾的\*/无法配对,看下面的截图,最后一个标记颜色都不一样

如果想在行内嵌套一个多行注释,可以像下面这样写

#2.作为系统裁剪,屏蔽部分功能,必要时把#if 0改成#if 1,重新编译即可把新功能添加进来。

(转自https://www.cnblogs.com/wobuyayi/p/5735309.html)
著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:不暇 链接:https://www.ruletree.club/archives/1182/ 来源:https://www.ruletree.club/
扩展:
#elif是预处理指令,跟#if等一起用,进行条件编译,比较完整的格式应该是:
#if 条件 表达式;
#elif 条件 表达式; ………
#else 条件 表达式;
#endif; 条件和表达式语句间用空格分开 #elif相当于else if,判断中间可以弄n个#elif 条件判断完最后一定要加#endif!