#define s(x) 4*x*x+1 main() {int i=6,j=8; printf("%d\n",s(i+j));}答案怎么算

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:17:00
请给出详细的算法过程及解析,(c++语言)

应该是:
s(i+j)=i+(4*j*j+1)=6+(256+1)=263
你如果想求 4*X*X+1 的话 (其中X=i+j)

你应该用内联函数
例:
#include <iostream.h>

#define doub(x) x*2
// void *p;
// p = (void *)&inline_doub;

inline int inline_doub(int x)
{
return x*2;
}

void main()
{
int i;
//使用宏定义
for(i=1;i<=3;i++)
cout<<i<<" doubled is "<<doub(i)<<endl;
cout<<"1+2 doubled is "<<doub(1+2)<<endl;

/*使用内联函数*/
for(i=1;i<=3;i++)
cout<<i<<" doubled is "<<inline_doub(i)<<endl;
cout<<"1+2 doubled is "<<inline_doub(1+2)<<endl;
}
QQ:396954504

s(i+j)=4*i+j*i+j+1=4*6+8*6+8+1=81

我觉得你可能这样用,
#define s(x) 4*(x)*(x)+1