起由很簡單,下午群里閑著沒事,我突發奇想想考下大家的基礎,網上盜了一題,非常簡單。
大家七嘴八舌,做對的固然很多,當然不屑一顧做錯的也大有人在。
我最后公布了答案(14,15,14,23),大家哦的一聲恍然大悟,責怪自己的不仔細。
這時候有人站了出來:“你這答案不對啊,用Xcode敲出來第四個明明是25”
然后安卓組的有人回應了:“答案是23無誤”。
我頭大了一下,趕緊低頭檢查了一遍,確認是23沒錯,走到他電腦前,果然console打印確實明晃晃的25,這時候我開始懷疑人生了,網上答案明明23,安卓用android studio打印也是23,為什么Xcode這么不給我面子,為什么!
本著求知的態度,跟小組里討論了下,什么運算符優先級,執行順序,最后得出結論
a += (a++) +(a++);
這行罪魁禍首 Xcode 等同于 a = (a++) +(a++) +a;居然特例獨行把等號左邊的值放在了后面,而C和java一致都是放在前面,所以造成了差異。
所以,無知的還是很多,坑慢慢踩吧。
哦對了,最近在轉swift,相信憑著我dota轉lol僅僅用了1個禮拜,應該還是很easy的。