102普考/計算機概論/C語言 - 普考

Table of Contents

考題:http://ppt.cc/Ji~W

想法:因為有前置處理器 #define

所以先處理前兩行

#define PLUS(a,b) a-b ==> PLUS(m1+m2,m1-m2) = 2 m2

#define MINUS(a,b) a+b ==> MINUS(m2-m1,m2+m1) = 2 m2

所以ml = 2 m2 * 2 m2 = 36

為何答案是-3呢??

--

All Comments

Caroline avatarCaroline2014-04-20
5+3-5-3*3-5+3+5=-3
Robert avatarRobert2014-04-25
define只是單純的字串替換,你不能先算結果
James avatarJames2014-04-25
同樓上 這就是巨集的壞處,以及括號重要
Dinah avatarDinah2014-04-27
這不是壞處 相對的這才是跟函數不同之處