→ xatier:void main ().... 已經不想在戰這個了 07/18 19:47
→ glennchen:考試而已沒關係吧 07/18 19:47
→ firejox:3. 71F2D 'r' 's' 31C51F 07/18 19:54
→ yoco315:100 分 XD 07/18 20:34
→ firejox:第3題不會輸出0X呀 07/18 20:41
→ lsc36:第二題是undefined behavior嗎... 07/18 20:42
→ firejox:第五題擬答 dtatic 是啥... 07/18 20:45
→ angleevil:static<--? 07/18 20:48
→ windincloud:那個解答有問題呀~ 第五題一看也知道~不會這樣宣告 07/18 20:50
噓 YoursEver:解答是錯的...那解答害人不淺吧... =_= 07/18 21:02
推 stonehomelaa:第五題答非所問呀 07/18 21:41
推 stonehomelaa:的確比大一計概考試簡單 07/18 21:44
推 NCKU:第2題 剛執行結果是 b=20 答案錯? 07/18 23:12
推 jimmy75615:樓上+1 我算出來b也是等於20,版上有人一樣嗎? 07/18 23:27
→ windincloud:b一直都是20呀~ 因為做了兩次sub1 => b=5*2*2 = 20 07/18 23:41
→ Favonia:順序是未指定,代表哪個順序都可以,不是未定義(可發核彈 07/18 23:41
→ windincloud:還有 那個答案真的僅供參考 有沒有人要PO答案? 07/18 23:42
→ Favonia:沒有指定實作的話單就標準上討論是這樣子。 07/18 23:42
→ windincloud:都指定是C了 還會有順序性問題? 07/18 23:42
→ Favonia:C 跟 C++ 的標準都沒有指定加法運算子的運算元計算的順序 07/18 23:45
→ stonehomelaa:第二題那樣沒有問題 07/19 00:06
→ Favonia:樓上請看 "it is not specified in which order f(), ..." 07/19 00:08
→ Favonia:就在你講的 Wikipedia 網頁裡面就有寫。 07/19 00:09
→ windincloud:看來是這樣~ 不過他也說依照一班運算模式是可被計算的 07/19 00:16
→ windincloud:就暫時當他是向左結合性吧~ :P (考試忘記強調向左結合 07/19 00:17
→ Favonia:另外並不是所有語言都用 call stack 來維護「呼叫的順序」 07/19 00:18
→ Favonia:還有第三題的 %X 也很有問題。那不是用來印指標的。 07/19 00:21
→ Favonia:@windincloud 這樣就不是一般C語言啦,而是某個特定實作xD 07/19 00:22
→ Favonia:(感覺題目可以吐槽的地方好多)(懶) 07/19 00:23
推 stonehomelaa:我知道呀 不過這裡sub1跟sub2哪個先執行跟答案無關吧 07/19 00:28
→ Favonia:我想有關。c 最後的值可以是 46 或是 41, 看哪邊先算。 07/19 00:42
→ VictorTom:所以 2. 會變成兩種順序的答案都可以/可能是吧....@_@" 07/19 00:59
→ jimmy75615:第二題 實際用電腦跑的結果 b=20 07/19 01:10
→ firejox:@Favoina:你拿%X印指標是可以啦... 07/19 01:40
→ firejox:有時為了直觀 甚至會用不同的型態印出 07/19 01:41
→ Favonia:@firejox %X 是用來印 unsigned int, 指標可以轉 void* 用 07/19 02:02
→ Favonia:%p印出來,不過格式實作自己定xD(忘記有哪些不用自己轉型) 07/19 02:04
→ Favonia:我想重點是 unsigned int 不一定裝得下指標轉過來的值... 07/19 02:04
→ Favonia:我想到有另一個方法是轉型成 uintptr_t 用 PRIXPTR 印 :P 07/19 02:10
→ firejox:我看到%p說明 後面寫as if by %#xor%#lx XD 07/19 02:26
→ Favonia:@firejox 那個只是方便了解某實作的格式啦 xD 我有一台電 07/19 02:47
→ Favonia:腦兩個就不一樣啊 xD 07/19 02:47
→ Favonia:補一個可能的吐槽點:我印象中只有 '0'~'9' 的順序有保證 07/19 10:17
→ Favonia:如果我沒記錯的話沒有人知道 'r' 下一個是不是 's' 07/19 10:17
→ firejox:你要賭ascii嗎? 07/19 10:25
→ Favonia:我確定標準沒有規定要用 ASCII xD 07/19 10:36
→ Favonia:(在此感謝 Fenikso 的提醒 xDD) 07/19 11:47
推 stonehomelaa:阿 第二題真的有問題 國家考試出這種丟臉的題目... 07/19 20:59
→ angleevil:因為很多出題者從來都不管這未定義行為. 07/19 21:08
推 stonehomelaa:該說他們對C語言一知半解吧 07/19 21:14
→ purpose:像第二題這樣的 side effect 蠻多入門書不會提到,所以囉 07/19 21:18
→ angleevil:如果沒有看精華區和13戒.還有t大之前給的網址+Favonia 07/19 21:40
→ angleevil:解說,我也不知道這問題 07/19 21:41
→ Favonia:@windincloud 抱歉我發現我誤讀「左結合」。加法是左結合 07/19 22:01
→ Favonia:但這裡好像跟結合順序沒有關係?(因為只有一個加法) 07/19 22:01
→ windincloud:我理解是運算式都優先由左邊處理與結合就是左結合性 07/19 22:44
→ windincloud:這句有錯嗎? => 太久沒碰了~ 都忘光光了~ XD 07/19 22:44
→ Favonia:喔喔我知道的左結合是指 a+b+c 意思為 (a+b)+c, 但這跟哪 07/19 23:08
→ Favonia:邊先算沒有關係 :Q 07/19 23:08