33 下列以 C 程式語言撰寫之程式執行後產生之輸出為何? #define PLUS(a, b) a+b #define MINUS(a, b) a-b #include main() { int m1 = 3, m2 = 5; m1 = PLUS(m1, m2)*MINUS(m2, m1); printf(“%d\n”, m1); }
(A) -16
(B) 16
(C) 25
(D) 37

答案:登入後查看
統計: A(14), B(33), C(50), D(8), E(0) #173898

詳解 (共 3 筆)

#191489

m1= m1+m2*m2-m1
2
0
#3333053
 PLUS(m1+m2, m1-m2) ...
(共 74 字,隱藏中)
前往觀看
1
1
#1586169

ml = PLUS(m1+m2, m1-m2)*MINUS(m2-m1, m2+m1); 
     = PLUS(a,b)*MINUS(c,d); // a --> m1+m2, b --> m1-m2, c --> m2-m1, d --> m2+m1 
     = a-b*c+d; 
     = m1+m2-b*c+d; 
     = m1+m2-m1-m2*c+d; 
     = m1+m2-m1-m2*m2-m1+d; 
     = m1+m2-m1-m2*m2-m1+m2+m1; // m1=5, m2=3 
     = 5+3-5-3*3-5+3+5 
     = -3 

巨集只做單純的文字代換動作,不負責其它

1
1