www.fltk.net > #inCluDE<stDio.h> #DEFinE MA(x) x*(x%1) voiD...

#inCluDE<stDio.h> #DEFinE MA(x) x*(x%1) voiD...

答案就是8,1+1+2*(1+1+2-1)=8

1+a+b*(1+a+b-1)=1+1+2*(1+1+2-1)=8这就是宏定义的弊端,有二义性可以把它改成:(x)*(x-1) 会好一点

MA(1+a+b)展开后得到:1+1+2*(1+1+2-1)=2+2*3=2+6=8注意:宏定义的展开是不会自动添加括号的,只是自然展开.给每个变量加上小括号,即把#define MA(x) x*(x-1)改成#define MA(x) ((x)*(x-1))然后能得到你想要的结果!!!

define 是宏定义.#define M 5 #define N M+M 其实就是说: 在程序里遇到M就换成5,遇到N就换成M+M.所以,k=N*N*5 就等价于 k=M+M*M+M*5,注意这是没有括号的,所以答案是55.

f(a+1)=a+1* a+1 * a+1=10.f((a+1))=(a+1)* (a+1 )* (a+1)=64.所以选A

按#define s(x) 4*(x)*x+1 代换了相当于是4*(5+2)*5+2+1=143 宏定义是直接代换 不检查语法的

你好!define 语句是C 语言的宏定义语句.将 a=1,b=2 代入MA(1+a+b),执行MA(4),即:4*(4-1),得结果应该是12.如有疑问,请追问.

#define定义的宏都是直接替换的,括号x是什么就替换成什么F(a+b) = a+b*a+b = 2+1*2+1 =5我觉得你认为是 9,如果 #define F(x) x*x修改为 #define F(x) (x)*(x) 就是9了.

A(printf("%d ",n++))等价于printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);printf("%d ",n++);共10个A(A(printf("

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

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