下列选项中不会引起二义性的宏定义是( )。 A.#define S(x) x*x B.#define S(x) (x)*(x) C.#define S(x) (x*x) D.#define S(x) ((x)*(x))
举一反三
- 下面宏定义正确的是 ( ) A: #define S a*b B: #define PI 3.14; C: #define max(a,b) ((a) >(b) (a) ;(b) ) D: #define s(x) (x)*(x);
- 用宏替换计算多项式2*x*x-x+10,正确的宏定义是()。 A: #define calculx(x) (2*(x)*(x)-(x)+10) B: #define calculx (2*(x)*(x)-(x)+10) C: #define calculx(x) 2*x*x-x+10 D: #define calculx 2*x*x-x+10
- 请⽤define运算,定义⼀个过程实现计算,其正确定义的过程为( )。 A: (define cube a (* a a a)) B: (define (cube x) (* x x x)) C: (define (cube a (* a a a))) D: (define (cube a) (* x x x)))
- 若有宏定义:#define s(x) x*x,则表达式s(2+1)的值为 A: 9 B: 4 C: 5 D: 6
- 请用define运算,定义一个过程实现计算[img=17x22]17de686697c53e5.png[/img],其正确定义的过程为_____。 A: (define cube a (* a a a)) B: (define (cube x) (* x x x)) C: (define (cube a (* a a a)) D: (define (cube a) (* x x x))