#include "stdafx.h"
#define SQR(X) X*Xint main(int argc, char* argv[])
{
int a = 10;
int k = 2;
int m = 1; a /= SQR(k+m)/SQR(k+m);
printf("%d\n",a); return 0;
}看过这样的一道题目,请问这个到底是怎么运算的???谢谢!
#define SQR(X) X*Xint main(int argc, char* argv[])
{
int a = 10;
int k = 2;
int m = 1; a /= SQR(k+m)/SQR(k+m);
printf("%d\n",a); return 0;
}看过这样的一道题目,请问这个到底是怎么运算的???谢谢!
---------------------
宏定义,SQR(X)就定义为X*Xa /= SQR(k+m)/SQR(k+m) 展开为a=a/(SQR(k+m)/SQR(k+m))这里你得注意了,不是k+m整体复制给X,你得按照#define SQR(X) X*X来展开,(不是(k+m)*(k+m))
展开结果就是a = a / (k+m*k+m/k+m*k+m)