C 我们可以在#if语句中调用函数吗?
这在C语言中是可能的吗C 我们可以在#if语句中调用函数吗?,c,if-statement,c-preprocessor,C,If Statement,C Preprocessor,这在C语言中是可能的吗 #if functionA() < functionB() //... #endif #如果function()
#if functionA() < functionB()
//...
#endif
#如果function()
仅当functionA
和functionB
是宏而不是函数时。如果语句是预处理器语句,则代码函数不可用(但可用)
提供了C预处理器用法的简单概述。如果
functionA
和functionB
在编译时展开为整数常量,则可以对它们进行比较。正如dan04所解释的,这种情况发生的唯一方式是如果它们是宏,而不是函数。更多详细信息可在中找到,这通常适用于您使用的任何编译器或平台。不,我们不能将函数作为条件调用到\if
指令。#if
中的条件只需要是一个常量表达式。#如果
不是语句,则它是一个预处理器指令。预处理器指令是在定义函数之前处理的,所以没有。