Re: [問題] 程式語言

看板Examination作者 (個字)時間10年前 (2013/12/31 21:57), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串4/5 (看更多)
原本說法自D C_and_C++置底13誡之8有寫到那是未定義的行為 昨晚跑的時候是12 今天開機跑一樣的程式 居然變11 WTF ※ 引述《controlfeng (controlfeg)》之銘言: : void main() : { : int x=12; : int*y; : y=&x; : funl(y); : printf(x); : } : void funl(int *n) : {*n=(*n)+++--*n-*n;} : ---------------------------------------------------------------------------- : 上述的是這樣嗎??*n=(*n)+++--*n-*n={(*n)++}+{--*n}-{*n}=13+11-12=12 : printf(x)=?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.33.7 ※ 編輯: myIDis7 來自: 118.171.33.7 (01/01 09:59)

01/01 16:52, , 1F
不可思議!! 編譯後的機器碼居然runtime會變動 XD
01/01 16:52, 1F

01/02 17:55, , 2F
*n=((11+11)-11)+1 ∴*n=12
01/02 17:55, 2F
文章代碼(AID): #1Imiqkk7 (Examination)
討論串 (同標題文章)
文章代碼(AID): #1Imiqkk7 (Examination)