一道程序編譯順序的考題,涉及到函數(shù)調(diào)用的先后順序及運算符號的優(yōu)先級等問題。下面我展開給你講。
C的程序編譯總是從main函數(shù)開始的,這道題的重點在“fun((int)fun(a+c,b),a-c)) ”語句。
系統(tǒng)首先要確定最外層 fun()函數(shù)的實參,第一個參數(shù)的確定需要遞歸調(diào)用fun()函數(shù)(不妨稱其為內(nèi)層函數(shù))。內(nèi)層函數(shù)的兩個參數(shù)分別為x=a+b=2+8=10、y=b=5,執(zhí)行函數(shù)體x+y=10+5=15,于是得外層函數(shù)的參數(shù)x=15。其另一個參數(shù)y=a-c=2-b=-6,再次執(zhí)行函數(shù)體,得最終返回值x+y=15+(-6)=9。
標簽:
程序編譯
上傳時間:
2014-12-03
上傳用戶:徐孺