Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我们可以在#if语句中调用函数吗?_C_If Statement_C Preprocessor - Fatal编程技术网

C 我们可以在#if语句中调用函数吗?

C 我们可以在#if语句中调用函数吗?,c,if-statement,c-preprocessor,C,If Statement,C Preprocessor,这在C语言中是可能的吗 #if functionA() < functionB() //... #endif #如果function()

这在C语言中是可能的吗

#if functionA() < functionB() 
    //... 
#endif 
#如果function()
仅当
functionA
functionB
是宏而不是函数时。

如果语句是预处理器语句,则代码函数不可用(但可用)


提供了C预处理器用法的简单概述。

如果
functionA
functionB
在编译时展开为整数常量,则可以对它们进行比较。正如dan04所解释的,这种情况发生的唯一方式是如果它们是宏,而不是函数。更多详细信息可在中找到,这通常适用于您使用的任何编译器或平台。

不,我们不能将函数作为条件调用到
\if
指令。
#if
中的条件只需要是一个常量表达式。

#如果
不是语句,则它是一个预处理器指令。预处理器指令是在定义函数之前处理的,所以没有。