#define 只做替换不做运算
76 A D 9.以下程序的输出结果为( )。 77 78 #define ADD(x) x*x 79 80 main( ) 81 82 { int a=4,b=6,c=7,d=ADD(a+b)*c; 83 84 printf("d=%d",d); 85 86 } 87 88 A d=70 B d=80 C d=140 D d=700 89 90 #define宏是直接替换,不会先给你计算的 91 92 dd(a+b) = a+b*a+b 93 94 d = add(a+b)*c = a+b*a+b*c =4+4*6+6*7 = 4+24+42 = 70 95 96 因此,如果希望实现 f(4+4)=f(8) 的效果,需要在定义宏函数时加括号,即需要定义成以下方式: 97 98 #define f(x) (x)*(x)