看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《summer78314 (summer)》之銘言: : http://ppt.cc/wRum : 請問這題i跟k的答案為什麼都是7? : 謝謝各位 如同註解表示 一個是先等於 再加1 另一個是先加1 再做等於 最後效果都一樣 所以都是7 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.131.213 ※ 文章網址: http://www.ptt.cc/bbs/Grad-ProbAsk/M.1418648279.A.8B4.html
summer78314: 不好意思,在請問一下為什麼不是六呀?我比較笨,不 12/16 00:41
summer78314: 好意思 12/16 00:41
summer78314: 5+1不是6嗎? 12/16 00:41
summer78314: 我給你看我算的i=5(它沒++和--為什麼最後答案是7呀? 12/16 00:51
summer78314: )……… 12/16 00:51
summer78314: j=i++(先執行j=i=5,再加1這樣對嗎?)所以j=5 12/16 00:52
summer78314: k=++i(先執行1+i(5)=6,再執行k=i,所以k是6.我是這 12/16 00:53
summer78314: 樣算的,我還是不懂7怎麼來的……我比較笨不好意思, 12/16 00:53
summer78314: 是不是有什麼規則呀? 12/16 00:53
maque: j先執行j=i,所以j=5,接著i會執行i++,所以i=6了 12/16 01:23
maque: 到k那邊先執行i++,所以i=6+1=7,再執行k=i,則k=7 12/16 01:25
maque: 因為compiler token關係,看是先token到什麼 12/16 01:29
maque: 像是j=i++,compilertoken到i時便把i的值給j之後才token到++ 12/16 01:31
maque: ,才去執行i=i+1動作 12/16 01:31
maque: k=++i,則是先token到++,先做i=i+1,再把i值賦予k 12/16 01:32
summer78314: 我了解了,謝謝兩位大大們的詳細解說,謝謝 12/16 02:34