www.fltk.net > # DEFinE MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5;...

# DEFinE MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5;...

i=3/MA(i,i+2)+5; 经过宏替换后: i=3/(i)*(i+2)+5; 由于在此之

输出结果为-5

4+4*4+4/4=21 你要的那结果应该这么写 #include<stdio.h

【专业回答,质量保证】 【基础知识】看来基础薄弱,那么需要先给你解释一下什么是宏定义。 宏定义又

因为定义了 F(x) 是x*x 所以,只需要把这个带入原式就可以得到结果了。 i=F(4+4)/F

#define 预处理命令就是完全拷贝,所以#define sum(x,y) x+y,k=sum(i

宏定义是直接将表达式展开的。题中所示定义会有结果: f(4+4) = 4 + 4 * 4 + 4

#define N 2 #define M N+1 #define NUM (M+1)*M/2 ma

f(4+4)/f(2+2)//因为f(x)是定义为x*x,其中 4+4 就表示x了,2+2也表示

你的宏函数少了括号,直接简单展开是啥样你应当明白啊 sum(i+j) ==> i+j*i+j

网站地图

All rights reserved Powered by www.fltk.net

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