第1个回答 推荐于2017-10-12
#if #else是预编译宏指令。
#if 条件
语句1
#else
语句2
如果条件为真,编译语句1,如果条件为假,编译语句2。
在程序运行中也是如此。
第2个回答 推荐于2017-09-15
#if
#else
#endif
的作用是控制编译的代码
如:
#if 1
代码A
#else
代码B
#endif
则程序编译的时候就只编译代码A
如果
#if 0
代码A
#else
代码B
#endif
则程序编译的时候就只编译代码B
其中代码A和代码B可以是函数也可以是几句代码。
所以
#if
#else
#endif
只是一个起控制预编译的代码;如果不加#,当然就是一个简单的判断语句。本回答被提问者采纳
第3个回答 2008-08-28
这是预编译指令,它的作用级别非常高,可以在代码被编译前被编译,相当于宏定义。最常用的是拿来做卫兵,防止重复编译,例如
//abc.h
#if undef ABC_H //如果没有定义ABC_H
#define ABC_H //定义ABC_H
... //程序代码
#endif //结束
或者是用来代替注释,将大段代码无效
#if 0
#endif
总之这个和普通的if差不多,只是优先级非常高,而且一定要以#endif结尾、
第4个回答 2008-08-28
谭浩强C语言程序设计 《预处理命令》那一章最后一小节有详细介绍