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