C语言的一个宏定义意义?解决思路
C语言的一个宏定义意义?
#define fuc(A) A++;\
A = A*A;
------解决方案--------------------
#define fuc(A) A++;\
A = A*A;
------解决方案--------------------
- C/C++ code
#define fuc(A) A++;\ A = A*A; int main() { int a=2; fuc(a); //a自增 然后自己的平方赋给自己 printf("%d",a); getch(); }
------解决方案--------------------
就是把fuc(A)替换为:A++;A=A*A;
其实相当于定义了一个内联函数:
- C/C++ code
inline void fun(A) { A++; A=A*A; }
------解决方案--------------------
#define fuc(A) (A)++;\
(A) = (A)*(A);
加上括号安全一些。
------解决方案--------------------
#define fuc(A) A++;\
A = A*A;
我在2005上调试了下这样定义通过不了,#define fuc(A) A++;A = A*A;才行,这样意思就是楼上说的