条件编译怎么写
if条件语句和条件编译区别?
if条件语句和条件编译区别?
条件语句和条件编译的区别是:条件语句是语句,需要对所有分支的语句块进行编译,在程序运行后根据条件是否成立决定是否执行条件语句后的程序段。而条件编译是预处理命令,它是在预处理阶段就完成的,如果不符合条件,那个程序段就不会被编译
if条件语句和条件编译区别?
条件编译是C语言中预处理部分的内容,它是编译器编译代码时最先处理的部分,
条件编译里面有判断语句,比如
#if
、#else
、#elif
及
#endif
它的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译,如
#define
A
//把A定义为0
#if
(A
gt
1)
printf(#34A
gt
1#34)
//编译器没有编译该语句,该语句不生成汇编代码
#elif
(A
==
1)
printf(#34A
==
1#34)
//编译器没有编译该语句,该语句不生成汇编代码
#else
printf(#34A
lt
1#34)
//编译器编译了这段代码,且生成了汇编代码,执行该语句
#endif
而
if
语句则不然,if
是
C
语言中的关键字,它根据表达式的计算结果来觉定执行那个语句,它里面的每个分支都编译了的,
如
#define
A
if
(A
gt
1)
printf(#34A
gt
1#34)
//编译器编译该语句,但因为A
==
未执行
else
if(A
==
1)
printf(#34A
==
1#34)
//编译器编译该语句,但因为A
==
未执行
else
printf(#34A
lt
1#34)
//编译器编译该语句,因为A
==
故执行
所以
简单地讲,条件编译是根据
宏条件
选择性地编译语句,它是编译器在编译代码时完成的;
条件语句是根据条件表达式选择性地执行语句,它是在程序运行时进行的。