? 發問時間: 電腦與網際網路程式設計 · 9 年前

PLUS(m1, m2)*MINUS(m2, m1);

為什麼算出來是25而不是8*2=16?

#define PLUS(a, b) a+b

#define MINUS(a, b) a-b

#include <stdio.h>

#include <stdlib.h>

main()

{ int m1 = 3, m2 = 5;

m1 = PLUS(m1, m2)*MINUS(m2, m1);

printf("%d\n", m1);

system("pause");

}

1 個解答

評分
  • 9 年前
    最佳解答

    Macro跟副程式不太一樣!!

    m1 = PLUS(m1, m2)*MINUS(m2, m1);

    解析為

    m1=m1+m2*m2-m1

    m1=3+5*5-3=25

還有問題?馬上發問,尋求解答。