C_and_CPP 板


LINE

小弟最近在學C++, 可是遇到了一個遞增運算子的問題,一直搞不懂, 比方說: int i=0; i=++i; cout << i <<endl; 可以預期是先跑i=0+1,再令i=1,因此結果為輸出1,實際上也是如此。 但是在下面的情況: int i=0; i=i++; cout << i <<endl; 我覺得應該是i=0,再令i=0+1,因此輸出1吧? 可是實際去run,結果卻是0。 想請問各位大大是為什麼為0呢? 謝謝! -- 標題 [請益] C/P值較高的耳機品牌? 看板 Headphone ───────────────────────────────────────
1F:→ tuiokh: 副廠的Earpod跟原廠會有差嗎?05/19 16:55
2F:推 evadodoya: 那你覺得盜版的beats跟正版的有差嗎05/19 17:05
3F:→ u87654321: 所以副場的earpod比較好囉?05/19 17:40
--



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.155.18
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1460650023.A.3AF.html
4F:推 longlongint: 直覺覺得是反串文的我怎麼了 04/15 00:08
5F:推 ilms49898723: Undefined Behavior 結案 04/15 00:11
6F:→ longlongint: 置底十戒之八 04/15 00:11
7F:→ longlongint: 十三戒之八 04/15 00:12
8F:→ alkali5566: 感謝樓上幾位幫忙QQ,其實這是考試題目,所以我沒有 04/15 00:15
9F:→ alkali5566: 想到是這方面的問題......學到了一課 04/15 00:15
10F:→ Schottky: 考試考 undefined behavior 是怎樣 04/15 00:19
11F:→ alkali5566: 而且給的答案是說0...沒說是Undefined Behavior 04/15 00:25
12F:→ alkali5566: 題目我是有簡化過,不過大致上就是這邊有問題 04/15 00:25
13F:→ wtchen: 下次記得看置底文喔,話說回來哪間學校出這種考題阿? 04/15 00:31
14F:→ Jockey66666: 把老師當掉 04/15 00:31
15F:→ Schottky: 我剛剛用 gcc 跑,結果是 1 耶~ XDD 04/15 00:31
16F:→ Schottky: 然後我有開 -Wall 所以有出現 warning 04/15 00:32
17F:→ Schottky: 快,拿這結果回去嗆老師要分數 04/15 00:33
18F:→ alkali5566: 校名請恕我不說XD 我會跟老師反應這件事,再次感謝! 04/15 00:35
19F:推 winken2004: 考試題...... 04/15 01:30
20F:→ fatrabitree: 去嗆老師,連undefined behavior都不知道 04/15 01:39
21F:→ tinlans: 老師真懶,改成 j = ++i 和 j = i++ 就沒事了,叫他重出 04/15 01:59
我還是先澄清一下好了,原題目是給一段code要我們debug+寫出debug後的output, 不過參考答案(好像是TA寫的)沒有提到這題有undefined behavior, 所以如果老師說這題我們應該要把這段錯誤改掉的話,我也就認了啦。 (雖然我之前沒聽過undefined behavior) ※ 編輯: alkali5566 (36.239.155.18), 04/15/2016 02:24:51
22F:→ wtchen: 搞不好是TA搞錯… 04/15 02:30
23F:推 wtchen: 不過老師居然沒教undefined behavior有點… 04/15 02:35
24F:推 Frozenmouse: 我覺得很多老師不會教這個的…XD 04/15 02:46
25F:推 bibo9901: 我一直覺得C++應該要直接讓這種statement不合法 XD 04/15 03:23
26F:→ Schottky: 樓上,這類問題statement不見得全部都偵測得出來 04/15 03:42
27F:→ Schottky: 寫複雜一點而逃過compiler檢查是有可能的 04/15 03:43
28F:推 stupid0319: 會有人寫這樣的程式碼搞自己嗎? 04/15 07:01
29F:推 suhorng: 不會搞自己, 但是踩到雷還是有可能的, 不小心 alias 到.. 04/15 07:18
30F:推 ronin728: unsequenced expression,詳見C++標準規格書ISO/IEC JTC 04/15 11:14
31F:→ ronin728: 1 SC22 WG21 N 3690第10頁 04/15 11:14
32F:→ ronin728: Clang有很好的前端,這會有警告。GCC的話我沒試過 04/15 11:16
33F:→ Schottky: 我是看 man gcc 的 -Wsequence-point 參數說明 04/15 11:53
34F:→ Schottky: 上面說有些更複雜的狀況無法被這個參數偵測到 04/15 11:55
35F:→ Schottky: 但一般來說應付類似程式中的類似問題還是算相當有效 04/15 11:56
36F:→ Schottky: 你只要加 -Wsequence-point 或 -Wall 都會開啟這項警告 04/15 11:57
37F:→ bibo9901: 我意思 有賦值(assign)的statement不視為expression 04/15 16:05
38F:→ bibo9901: 一併解決了 if( x = 1 ) 這種筆誤... 04/15 16:06
39F:→ Schottky: 贊成! 那些愛用 if (-1==(fd=open(...))) 的人我早就 04/15 16:11
40F:→ Schottky: 看他們不順眼很久了。 04/15 16:11
41F:→ Schottky: 還有那種 while (-1==(count=read(...))) 根本是邪教 04/15 16:17
42F:→ bibo9901: 缺點就是 x = y = z = 1 要分成三個 stmt 了 04/15 16:24
43F:→ ACMANIAC: 教到現在還沒教整個程式語言最重要的undefined behavior 04/16 09:12
44F:→ ACMANIAC: 那上課到底在教什麼啊...... 04/16 09:12
45F:→ TobyH4cker: 教授不可能教吧XD 學生當自強 除非教授是神人 04/16 09:44
46F:→ Schottky: 教授也許不會吐 undefined behavior 這兩個字 04/16 11:04
47F:→ Schottky: 但教授一定要教不可以在同一條 statement 裡面賦值兩次 04/16 11:05
48F:→ Schottky: 原來是缺乏神人教授指點,難怪我們都沒有水晶球 04/16 11:06
49F:推 me356500: 大學考這個哦? 04/18 22:07







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP