
谁能帮我分析一下这一道C++题目
#include<iostream.h>voidmain(){inta(3),b(4);#ifdefSQcout<<"SQ(a+b)<<endl;#else#define...
#include<iostream.h>
void main()
{
int a(3),b(4);
#ifdef SQ
cout<<"SQ(a+b)<<endl;
#else
#define SQ(x) (x)*(x)
cout<<"SQ="<<SQ(a+b)<<endl;
#endif
}
本人没看明白,希望高手给讲解一下,谢谢啊,答案是49
a(3)就是a=3,不知道你学的是不是C++ 展开
void main()
{
int a(3),b(4);
#ifdef SQ
cout<<"SQ(a+b)<<endl;
#else
#define SQ(x) (x)*(x)
cout<<"SQ="<<SQ(a+b)<<endl;
#endif
}
本人没看明白,希望高手给讲解一下,谢谢啊,答案是49
a(3)就是a=3,不知道你学的是不是C++ 展开
2个回答
展开全部
a(3) 确实是 a=3 ,这样赋值的例子不常见。
这个例子应该很好理解啊:
#ifdef
#define
就是用来定义自定义函数的。
如果定义了 SQ 这个函数就输出 SQ(a+b)
如果没定义,就定义 SQ(x)=x*x ;显然 SQ(a+b)=SQ(7)=7*7=49
有什么不好理解的,你将b的值修改为6,看看结果是不是81?
这个例子应该很好理解啊:
#ifdef
#define
就是用来定义自定义函数的。
如果定义了 SQ 这个函数就输出 SQ(a+b)
如果没定义,就定义 SQ(x)=x*x ;显然 SQ(a+b)=SQ(7)=7*7=49
有什么不好理解的,你将b的值修改为6,看看结果是不是81?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询