怎样调用函数去求一个值

int MA ( int x )
{ return x∗( x- 1 ) ;

} 
int main ( ) { 
int a= 1, b= 2;
cout< < MA ( 1+ a+ b ) < < endl;
return 0;
}
A.6 B.8 C.10 D.12

是先把1+1+2算出来为4然后给上面那个函数x为4
什么时候调用的时候直接把(1+1+2)给x 算出来的是(1+1+2)∗( 1+1+2- 1 ) ?

程序应该是把x变成4,在运算

参考代码:

#include <iostream>
using namespace std;
#define ma(x) x*(x-1)
int MA(int x)
{ 
    return x*(x-1);
}
int main()
{
    int a=1, b=2;
    cout<< MA(1+a+b) << endl;
    cout<< ma(1+a+b) << endl;
    return 0;
}

结果为:
12
8

img