1、#if, #elif, #else, #endif #if 条件 1 代码段 1 #elif 条件 2 代码段 2 ... #elif 条件 n 代码段 n #else 代码段 n+1 #endif 即可以设置不同的条件,在编译时编译不同的代码,预编译指令中的表达式与C语言本身的表达式基本一至如逻辑运算、算术运算、位运算等均可以在预编译指令中使用。之所以...
if语句是用于判断给定条件是否为真,如果条件为真,则执行if语句块中的代码;否则,程序将跳过if语句块继续执行其他代码。elif 和 else 语句也是if的重要扩展,提供了更多选项和逻辑分支,有助于构建更加灵活和明晰的程序逻辑。 为了更好地理解C语言中的if、elif和else用法,让我们先从if语句入手。if语句的一般形式如下:...
#ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。
#elif相当于if else语句中的else if()语句,需要注意的是该语句是#elif,而不是#elseif 代码示例: 复制代码 1 #include <stdio.h> 2 3 #define MAX 10 4 int main() 5 { 6 #if MAX0 7 printf(“MAX=0”); 8 #elif MAX10 9 printf(“MAX=10\n”); 10 #endif 11 12 return 0; 13 } 复...
作为 #if 或 #elif 命令条件的表达式,必须是整数常量预处理器表达式。这与普通的整数常量表达式不同,主要区别在于:(1) 不能在 #if 或 #elif 表达式中使用类型转换运算符。(2) 可以使用预处理运算符 defined。(3) 在预处理器展开所有宏,并且计算完所有 defined 表达式之后,会使用字符 o 替换掉表达式中所有...
#if、#elif、#else 和 #endif 都是预处理命令,整段代码的意思是:如果宏 _WIN32 的值为真,就保留第 4、5 行代码,删除第 7、9 行代码;如果宏 __linux__ 的值为真,就保留第 7 行代码;如果所有的宏都为假,就保留第 9 行代码。 这些操作都是在预处理阶段完成的,多余的代码以及所有的宏都不会参与编译...
在C语言编程中,条件编译是一种预处理器技术,允许根据特定条件插入或删除代码段,以适应不同的目标环境。其基本结构由#if、#ifdef、#ifndef、#else、#elif和#endif等命令组成。以#if开始的条件编译区域,其格式如下:首先计算一系列条件表达式,如整数常量预处理器表达式(不能使用类型转换,但可包含...
if 0 //0即假,不执行 AAA elif 1 //1即真,于是BBB就执行(后面的CCC就不执行了)BBB else CCC endif
二者区别可参考下面表格: 二者的联系: > #ifdef XXX = #if defined(XXX)> #ifndef XXX = #if !defined(XXX) #ifeq的用法 常见用法: ifeq ($(X_MODULE_DEBUG_ENABLE),1)ifeq ($(X_MODULE_DEBUG_ENABLE),y) 一般用于判断后面判断后面两个参数是否相等,相等为 true,不相等则为 false; ...