[語法] 未定義行為??

看板C_and_CPP作者 (中大王)時間16年前 (2009/10/28 21:23), 編輯推噓15(15020)
留言35則, 14人參與, 最新討論串1/1
main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf("%d %d\n",x,y); } 乍看之下想回答未定義行為 http://www.allinterview.com/showanswers/5271.html 不過這網站的人講得頭頭是道 我想問這算不算未定義行為? 說真的沒有人會把程式寫成這副德性..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.112.18

10/28 21:27, , 1F
這沒有undefined吧 等號右邊他變數只有改一次阿
10/28 21:27, 1F

10/28 21:30, , 2F
a[i] = i++; 這種就是undefined behavior呀
10/28 21:30, 2F

10/28 21:30, , 3F
照一樓說的 右邊只有改一次呀
10/28 21:30, 3F

10/28 21:34, , 4F
剛試了一下 應該是我錯了
10/28 21:34, 4F

10/28 21:46, , 5F
看至底是寫一個運算式中賦值兩次, 那感覺還是有犯到@_@"
10/28 21:46, 5F

10/28 21:47, , 6F
這是國內某家大公司筆試題目 用抄的連數字都沒改XD
10/28 21:47, 6F

10/28 21:56, , 7F
看了就很無奈 對了又怎樣= = 不對也不代表我們程式爛阿...
10/28 21:56, 7F

10/28 21:57, , 8F
公司就算出undefined behavior 他們搞不好還不知道呢....
10/28 21:57, 8F

10/28 22:07, , 9F
不是打英文就比較頭頭是道吧,總而言之,C++之父說
10/28 22:07, 9F

10/28 22:07, , 10F
是未定義
10/28 22:07, 10F

10/28 22:13, , 11F
未定義啦 = 前 ++ 或者 = 後 ++ 結果是不同的.
10/28 22:13, 11F

10/28 22:13, , 12F
有些情況結果可能沒有不同, 但規定是不能在 SP 間修改兩次
10/28 22:13, 12F

10/28 22:14, , 13F
順序點:&& || ?: , 四個運算子,及一些statement
10/28 22:14, 13F

10/28 22:22, , 14F
今天也有人問我這個問題耶 好像是煎肉盤石公司的
10/28 22:22, 14F

10/28 22:31, , 15F
不過我還是很孬不敢寫這是未定義行為 ~"~
10/28 22:31, 15F

10/29 00:25, , 16F
這樣也是未定義嗎? x=x++; or x=++x; or x=++x++;?
10/29 00:25, 16F

10/29 00:30, , 17F
assignment不是順序點,不保證++運算子的副作用發生時機
10/29 00:30, 17F

10/29 00:31, , 18F
10/29 00:31, 18F

10/29 00:47, , 19F
寫未定義行為 改的人搞不好不知道你在說什麼....這種題目超
10/29 00:47, 19F

10/29 00:47, , 20F
無奈的...錯的人一定很幹...
10/29 00:47, 20F

10/29 10:11, , 21F
你不寫未定義行為那代表你這題的對錯看運氣了
10/29 10:11, 21F

10/29 10:12, , 22F
而說不定主管只憑這題就可以刷掉 99% 有寫數字的人
10/29 10:12, 22F

10/29 10:28, , 23F
不然就揣摩上意寫兩個版本....XD
10/29 10:28, 23F

10/29 14:11, , 24F
很爛 我知道哪家 我在上面寫了大概是xxx 但是undefined
10/29 14:11, 24F

10/29 14:42, , 25F
我用DEVC++寫,結果過了耶...
10/29 14:42, 25F

10/29 14:43, , 26F
樓上, compile會過, 會有結果, 但是這結果可能隨著各家
10/29 14:43, 26F

10/29 14:44, , 27F
compiler實作的方式不同而有差異, 所以說是未定義行為:)
10/29 14:44, 27F

10/29 14:50, , 28F
有次面試我寫compile error還被定到爆 分明見笑登生氣
10/29 14:50, 28F

10/29 14:51, , 29F
不會error阿@@
10/29 14:51, 29F

10/29 14:51, , 30F
雖然我知道答案,但打字錯誤就還是錯
10/29 14:51, 30F

10/29 14:53, , 31F
我指的是某些系統大廠主管的水準令人不敢認同
10/29 14:53, 31F

10/29 14:54, , 32F
哈 你也真敢寫...
10/29 14:54, 32F

10/29 15:22, , 33F
很多面試官都主觀覺得來的人能力一定比他差
10/29 15:22, 33F

10/29 15:23, , 34F
只是早進公司幾年, 如果沒進步的話, 也沒什麼好怕的
10/29 15:23, 34F

10/29 15:29, , 35F
就某方面而言, 進了這樣的公司也有點可怕....XD
10/29 15:29, 35F
文章代碼(AID): #1Aw4Mu7A (C_and_CPP)