有追求的程序員總是千方百計(jì)的優(yōu)化自己的代碼,期望代碼體積更小,運(yùn)行速度更快。
你確認(rèn)你比gcc更聰明?看看編譯器有多聰明吧。。。
測試代碼

源代碼
目標(biāo)代碼
左側(cè),未優(yōu)化:gcc main.c -g?
右側(cè):最大優(yōu)化:gcc main.c -Os -g
反匯編:objdump -d -S a.out

目標(biāo)代碼
你確定你比它更聰明?
gcc 識別出了你要交換兩個變量,并且這兩個變量在printf之后就沒有再使用了,所以直接干掉,把1、2和2、1直接塞給printf