小编Fre*_*337的帖子

是否可以在#define中使用if语句?

我正在尝试使用以下公式制作一个宏:(a^2/(a+b))*b,我想确保不会有零除以.

#define SUM_A( x, y ) if( x == 0 || y == 0) { 0 } else { ( ( ( x * x ) / ( ( x ) + ( y ) ) ) * ( y ) )}
Run Code Online (Sandbox Code Playgroud)

然后我调用main里面的宏:

float a = 40, b = 10, result; 
result = SUM_A(a, b); 
printf("%f", result);
Run Code Online (Sandbox Code Playgroud)

我尝试在if函数周围使用括号,但我在if语句之前一直遇到语法错误.我也尝试过使用return,但我在某处读到你不应该在define中使用它.

c macros if-statement c-preprocessor

14
推荐指数
3
解决办法
4万
查看次数

标签 统计

c ×1

c-preprocessor ×1

if-statement ×1

macros ×1