www.fltk.net > #DEFinE SQR(X) X*X mAin() { int A=16, k=2, m=1; A/...

#DEFinE SQR(X) X*X mAin() { int A=16, k=2, m=1; A/...

按你的理解应该是 a/=((2+1)*(2+1))/((2+1)*(2+1)) 是吧 其实 宏只是文

#define SQR(X) X*X 这样定义有问题 改成这样: #define SQR(X

define 出来的“宏函数” 执行的是直接的代码【替换】 SQR(k+m)/SQR(k+m)会被

答案为1 经过上机得出 a=a/(K+m*k+m/k+m*k+m) //直接替换即可 即是a

注意,#define做的仅仅是文本替换工作,是预编译阶段完成的,不可将其作为函数使用。 因而,在预编

SQR(k+m)/SQR(k+m); 宏替换展开后为 k+m*k+m/k+m*k+m =2+1

#define SQR (X) X*X SQR(k+m)/SQR(k+m) 代入替换 k+

define 出来的“宏函数” 执行的是直接的不经修改的代码替换 即SQR(k+m)/SQR(k+

宏替换,直接代入表达式替换。 解题技巧,遇到define定义的表达式,直接代入式子中替换,问题迎刃

求满意 求赞同 宏做的事 仅仅是展开 所以看一下这句展开式怎样的 a = ++k+1*k+1; 现执

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com