www.fltk.net > #DEFinEA4 #DEFinE B(x) A*x/2 VoiD mAin( ) {FloAt C...

#DEFinEA4 #DEFinE B(x) A*x/2 VoiD mAin( ) {FloAt C...

#defineA4 #define B(x) A*x/2 Void main( ) {floa

完整程序是: #include "stdio.h" #define f(x)

宏不做类型判断,编译的时候就是简单的替换,所以在判断宏的时候,如果看不明白,你就在纸上写一下,把要替

8,MA(1+a+b) =1+a+b*(1+a+b-1)= 1+1+2*(1+1+2-1)=8

M(x,y,z) x*y+z x:a+b=1+2 y:b+c=2+3 z:c+a=3+1 代

结果当然是36,因为宏是直接替换,并不进行计算。如果结果要是9,你把#define f(x) x*x

#define PT 3.5; #define S(X) PT*X*X; main() { in

#define定义的宏都是直接替换的,括号x是什么就替换成什么 F(a+b) = a+b*a+

#define PT 5.5 就是把PT直接换成5.5然后再编译。 main() { int

MA(1+a+b)展开后得到: 1+1+2*(1+1+2-1) =2+2*3 =2+6 =8

网站地图

All rights reserved Powered by www.fltk.net

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