無聊時來做普考的計概題目,被這2個程式題騙到了= = ----- 第1題. ----- #include main() { int m1=123,m2=5; while(m2--) { m1 %= m2;}; printf("%d=n",m1); } ----- 這題一開始還以為會compile error,因為while那一行最後多出一個; 其實是可以的= =...之後把結果跑完還跑錯XDD 一開始最好把while(m2--)跟{m1%=m2;};拆成兩行來看 因為while的判斷第一次一做完後,m2的值就等於4... 最後當m2的值等於1時,執行while(m2--)的條件還會過 可是之後馬上m2的值就等於0…最後跑進去當除數 就會發生Floating point exception...執行錯誤.. ----- 第2題. ----- #include #define MAX(a,b) a>b?a:b int main() { int m=10,n=10; printf("%d",MAX(++n,m)); return 0; } ----- 用cpp abc.c abc.i先經過前置處理器翻譯後就成了 int main() { int m=10,n=10; printf("%d",++n>m?++n:m); return 0; } 最後輸出的結果就是12了...
文章標籤
全站熱搜
創作者介紹
創作者 fvalinux 的頭像
fvalinux

Elegance

fvalinux 發表在 痞客邦 留言(0) 人氣(177)