宏替换问题,这样也行吗???
#include <stdio.h>#include <stdlib.h>
struct ss {
int b;
};
#define C b
int main(void)
{
struct ss s;
s.C = 10;
printf("%d\n", s.C);
exit(0);
}
有个程序不懂,如下:
#define S(x)4*x*x+1
main()
{ int i=6,i=8;
printf("%d\n",S(i+j))
}
答案是81。解释:S(i+j)被替换为4*i+j*i+j+1.不懂的是:为什么是这样替换的?替换的过程这样理解??