推 CaptainH: 爛學校的爛題目 配上爛解答 05/18 11:16
推 PhysiAndMath: 這compiler能過嗎? 05/18 11:36
→ loveflames: 這解答可以扔了 05/18 11:42
→ Caesar08: a. 是對的 b. compile不會過,這學校不要讀了 05/18 11:47
→ hichcock: 107學年起程式設計 列國中必修課程....唉~~~~ 05/18 11:50
→ MasTerNBHD: 哈 這種題目XD 05/18 12:04
→ kerwinhui: 題目都寫明只是C-like而已,為什麼還會以為有compiler? 05/18 12:46
推 chuegou: 如果要達成解答,函式的輸入值在C裡面實際要怎麼寫? 05/18 12:49
推 loveflames: compiler能不能過在其次,重點在解答亂寫 05/18 12:50
→ chuegou: void aabb(int* x, int* y, int* z){ ...(略) } 05/18 12:51
→ chuegou: 這樣好像也不太對? 05/18 12:51
→ Schottky: 7F> C-like program 就沒有 compiler ? 05/18 12:53
→ Schottky: 假設的語言還是會有假設的 compiler 啊 05/18 12:53
→ Schottky: 沒有 reference 的東西要怎麼 call by reference ? 05/18 12:54
→ Caesar08: 你code不能誤差太多阿。你拿reference去接r value,是要 05/18 12:56
→ Caesar08: 怎麼通過compile? 05/18 12:56
→ Caesar08: 就算你真的拿r value reference去接(x+y),l value refe 05/18 12:56
→ Caesar08: rence去接y與z,答案也不是那樣。光是看x值會改變,就可 05/18 12:56
→ Caesar08: 以不用去這學校了 05/18 12:56
→ Caesar08: 我以上講的還是C++-like,如果是C-like,那reference跟 05/18 12:58
→ Caesar08: 本不存在 05/18 12:58
→ bibo9901: 超白痴的... 這老師不知道printf的 "f" 是 format ? 05/18 13:16
→ bibo9901: 既然只是pseudo-code幹嘛要寫print"f" 05/18 13:17
→ bibo9901: 然後為什麼aabb前面需要function 但 main 不用? 05/18 13:18
→ feeya: 虛擬碼過度簡化 題意應該是 aabb(x=x+y,y=y,z=z); 05/18 13:31
→ PhysiAndMath: 呼叫的時候寫x+ y 或x=x+ y差很多捏!我們就不用替 05/18 14:09
→ PhysiAndMath: 出題者編理由了 05/18 14:09
推 prismwu: @compiler: 吃我 r ref 05/18 16:13
→ gonnaberay: 超爛... 05/18 16:58
→ ksks5222: 沒資料型態,這樣能通過嗎? 05/18 18:11
→ tinlans: 這是「程式語言」或「計算機概論」裡和程式語言相關章節 05/18 21:14
→ tinlans: 會出現的考題類型。題目就寫 C-like program 了... 05/18 21:15
→ tinlans: 它考的是程式語言的概念,不用在意能不能編譯 XD 05/18 21:15
→ tinlans: 它跟程式設計不是同一門課,聖經本是小熊書 05/18 21:17
→ tinlans: Programming Languages Concepts and Constructs 05/18 21:18
→ tinlans: 「print 出來的X是5而不是2」這句請描述清楚一點,哪裡 05/18 21:22
→ tinlans: 有寫 print 出來是 5?圖也拍不完整 XD 05/18 21:23
→ tinlans: 還有為什麼你內文會寫 codeblocks 和 iostream... 05/18 21:23
→ tinlans: 五樓講的那個我記得是個叫 scratch 的程式,用滑鼠拉的XD 05/18 21:24
→ shadow0326: 退一百步先不管編譯問題好了 foo(x+y)的call by ref到 05/18 21:27
→ shadow0326: 底是什麼意思? 05/18 21:27
→ tinlans: 照片上的內容我目前沒看到什麼異常的地方。 05/18 21:29
→ tinlans: 就是 (x+y) 運算結果的 reference 05/18 21:29
→ tinlans: 所以進入 aabb 以後,aabb 的參數 x 代表的就是 5。 05/18 21:33
→ tinlans: z = z + x 就是 z = 5 + 6,所以 z 是 11。 05/18 21:33
→ tinlans: 然後不用太執著 C-like,C-like 有很意思,syntax 某部分 05/18 21:34
→ tinlans: 像 C,譬如使用 { } 而不是 begin end,這也能算 XD 05/18 21:35
→ tinlans: C-like 有很多意思 05/18 21:35
→ tinlans: 沒有說全部的語法語意跟 C 必須都很像,這就是 PL 考題。 05/18 21:36
→ tinlans: 這題目其實貼 CSSE 板比較適合,可惜那邊沒人了 XD 05/18 21:38
→ tinlans: 對 C++ programmer 來講 rvalue ref 是 C++11 以後才支援 05/18 21:41
→ tinlans: 的東西,但這個「概念」在幾十年前就存在於 PL 領域。 05/18 21:42
→ tinlans: 對 PL 學科來說,rvalue ref 不過就是一種 ref 罷了。 05/18 21:42
→ tinlans: C++ 只是原本不支援它,並不代表這是多新奇的東西。 05/18 21:43
→ Caesar08: 如果你用r value reference就可以說得通。問題是x的結果 05/18 21:53
→ Caesar08: 再怎麼樣,x都不會變成5 05/18 21:54
→ tinlans: 原來照片下半部我沒看到,輸出結果:5 5 11 當然是錯的 05/18 22:41
→ tinlans: 但是這解答是誰給的? 05/18 22:42
→ tinlans: 剛剛圖只開到 z = 6 -> 11 這邊,難怪我看不懂原 po 問啥 05/18 22:43
→ tinlans: 剛看到 x = 2, y = 3 -> 5, z = 6 -> 11 這三格,我以為 05/18 22:46
→ tinlans: 解答就是 2 5 11,剛剛重新點開才發現下面沒開到 XD 05/18 22:46
→ bibo9901: 轉學考沒考PL(吧) 應該是程式設計之類的 05/19 03:23
→ bibo9901: 搞不好這個語言的operator+會mutate它的左運算元呀XDD 05/19 03:25
→ tinlans: 計概含 PL,以前預官考試也會涵蓋到 05/19 03:52
→ tinlans: 我覺得解答不是校方提供的,因為題目英文解答中文 05/19 03:52
→ tinlans: 而且題目開頭寫「例」,很像參考書或補習班講義 05/19 03:54
→ tinlans: 大一計概其實是資訊科學導論,連 CPU 排程跟數位邏輯都在 05/19 03:56
→ tinlans: 範圍內 05/19 03:56
→ tinlans: 所以造就以前管院教 office 結果預官考完罵老師的鬧劇 05/19 03:57
→ MOONRAKER: 以前某校的計算機概論也是講點BCD,再寫網頁 05/19 10:01
→ MOONRAKER: 老師整天忙選舉 常常是他的博士生來上課 05/19 10:01
推 me356500: 不好意思 aabb是什麼 我怎看不懂 05/19 22:42
→ me356500: 啊 沒看到上面有 05/19 22:43
→ tinlans: 最近 imgur 開圖怪怪的 XD 05/20 01:10