首 页 行业热点 新车 试驾评测 养车用车 车型库

C语言#define问题?

发布网友

我来回答

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。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com