读书人

C语言的一个宏定义意义?解决思路

发布时间: 2012-02-28 13:06:36 作者: rapoo

C语言的一个宏定义意义?
#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;才行,这样意思就是楼上说的

读书人网 >C语言

热点推荐