[求助]宏函数
有个程序不懂,如下:
#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.不懂的是:为什么是这样替换的?替换的过程这样理解??
有个程序不懂,如下:
#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.不懂的是:为什么是这样替换的?替换的过程这样理解??
2007-08-07 21:20
2007-08-07 21:27
有人知道不??我在电脑边等着了。。。。。
实在不懂~~
2007-08-07 21:28
2007-08-07 21:47
如果你这样定义S(x)就不会出错了:
#define S(x) 4*(x)*(x)+1
或许宏定义的函数是表达式传递,而不是值传递吧

2007-08-07 21:50
2007-08-07 22:04
2007-08-07 22:07
2007-08-07 22:13
2007-08-07 22:21
2007-08-07 22:21