作业帮 > 综合 > 作业

C语言一段语句解释C语言中一段代码:"#define f(x,y)(-1*(x)*(y)*(y))"疑问:是定义一个函数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 09:04:05
C语言一段语句解释
C语言中一段代码:"#define f(x,y)(-1*(x)*(y)*(y))"
疑问:
是定义一个函数f(x,
语句“-1*(x)*(y)*(y)”中x,
define 只是单纯的替换;
如果
a=1
b=2
那f(a,b),加不加括号都无所谓;
但是在情况
f(a+1,b+1),这种情况下,就有问题了,变成:
没有括号将会变成:
f(a+1,b+1) -- > -1*a+1*b+1*b+1 运算的优先级就会变化.
真正加括号之后,才正确 -a*(a+1)*(b+1)*(b+1)