Я пытаюсь сделать макрос со следующей формулой: (a^2/(a+b))*b
, и я хочу убедиться, что не будет деления на ноль.
#define SUM_A( x, y ) if( x == 0 || y == 0) { 0 } else { ( ( ( x * x ) / ( ( x ) + ( y ) ) ) * ( y ) )}
и затем я вызываю макрос внутри main:
float a = 40, b = 10, result;
result = SUM_A(a, b);
printf("%f", result);
Я попытался использовать скобки вокруг функции if, но я продолжаю получать синтаксические ошибки перед оператором if. Я также пытался использовать return, но я где-то читал, что вы не должны использовать это в определении.