c++为什么第九题选A
1个回答
展开全部
#define T(x,y) (x)<(y)?(x):(y) 宏定义。
cout<< (10*T(2+4,5)) <<endl; 调用宏定义,做字符替代后成为:
cout<< (10 * (2+4)<(5)?(2+4):(5)) << endl;
这里是3目运算: 10 * (2+4)<(5)?(2+4):(5)
意思是 if ( 10*(2+4) < 5) cout<< (2+4); else cout << 5;
显然 条件 10*(2+4) < 5 为假, 故 输出 5。答 A.
cout<< (10*T(2+4,5)) <<endl; 调用宏定义,做字符替代后成为:
cout<< (10 * (2+4)<(5)?(2+4):(5)) << endl;
这里是3目运算: 10 * (2+4)<(5)?(2+4):(5)
意思是 if ( 10*(2+4) < 5) cout<< (2+4); else cout << 5;
显然 条件 10*(2+4) < 5 为假, 故 输出 5。答 A.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询