发布网友
共2个回答
热心网友
定义的是#difine M(x) x(x+1)
是指M(x) 用x(x-1) 代替
当程序中出现M(a+b) 时,x直接被a+b取代(注意千万不要擅自加括号!):
a+b(a+b+1)
它相当于:a+b×(a+b+1)
在a=2,b=3时,它的值是2+3×(2+3+1)=2+3×6=2+18=20
所以程序最终输出的是20。(而不是30奥)
有什么问题请留言。
热心网友
define其实是编译的时候直接替换文本的。
所以这个就是
a+b*(a+b+1)=2+3*(2+3+1)=20。
这样写
#define M(x) (x)*(x+1)才是你感觉的那个答案5×6=30。