[問題] 朋友轉學考題目

看板C_and_CPP (C/C++)作者 (HenryLiKing)時間8年前 (2016/05/18 11:09), 編輯推噓6(6068)
留言74則, 18人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) codeblocks 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) iostream 問題(Question): http://i.imgur.com/rLaCXvF.jpg
題目是上面的! 我和我朋友不懂的是為什麼print 出來的X是5而不是2? 謝謝大家 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 如果有違反版規 告知後立刻改善 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.138.53.107 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1463540973.A.E6A.html

05/18 11:16, , 1F
爛學校的爛題目 配上爛解答
05/18 11:16, 1F

05/18 11:36, , 2F
這compiler能過嗎?
05/18 11:36, 2F

05/18 11:42, , 3F
這解答可以扔了
05/18 11:42, 3F

05/18 11:47, , 4F
a. 是對的 b. compile不會過,這學校不要讀了
05/18 11:47, 4F

05/18 11:50, , 5F
107學年起程式設計 列國中必修課程....唉~~~~
05/18 11:50, 5F

05/18 12:04, , 6F
哈 這種題目XD
05/18 12:04, 6F

05/18 12:46, , 7F
題目都寫明只是C-like而已,為什麼還會以為有compiler?
05/18 12:46, 7F

05/18 12:49, , 8F
如果要達成解答,函式的輸入值在C裡面實際要怎麼寫?
05/18 12:49, 8F

05/18 12:50, , 9F
compiler能不能過在其次,重點在解答亂寫
05/18 12:50, 9F

05/18 12:51, , 10F
void aabb(int* x, int* y, int* z){ ...(略) }
05/18 12:51, 10F

05/18 12:51, , 11F
這樣好像也不太對?
05/18 12:51, 11F

05/18 12:53, , 12F
7F> C-like program 就沒有 compiler ?
05/18 12:53, 12F

05/18 12:53, , 13F
假設的語言還是會有假設的 compiler 啊
05/18 12:53, 13F

05/18 12:54, , 14F
沒有 reference 的東西要怎麼 call by reference ?
05/18 12:54, 14F

05/18 12:56, , 15F
你code不能誤差太多阿。你拿reference去接r value,是要
05/18 12:56, 15F

05/18 12:56, , 16F
怎麼通過compile?
05/18 12:56, 16F

05/18 12:56, , 17F
就算你真的拿r value reference去接(x+y),l value refe
05/18 12:56, 17F

05/18 12:56, , 18F
rence去接y與z,答案也不是那樣。光是看x值會改變,就可
05/18 12:56, 18F

05/18 12:56, , 19F
以不用去這學校了
05/18 12:56, 19F

05/18 12:58, , 20F
我以上講的還是C++-like,如果是C-like,那reference跟
05/18 12:58, 20F

05/18 12:58, , 21F
本不存在
05/18 12:58, 21F

05/18 13:16, , 22F
超白痴的... 這老師不知道printf的 "f" 是 format ?
05/18 13:16, 22F

05/18 13:17, , 23F
既然只是pseudo-code幹嘛要寫print"f"
05/18 13:17, 23F

05/18 13:18, , 24F
然後為什麼aabb前面需要function 但 main 不用?
05/18 13:18, 24F

05/18 13:31, , 25F
虛擬碼過度簡化 題意應該是 aabb(x=x+y,y=y,z=z);
05/18 13:31, 25F

05/18 14:09, , 26F
呼叫的時候寫x+ y 或x=x+ y差很多捏!我們就不用替
05/18 14:09, 26F

05/18 14:09, , 27F
出題者編理由了
05/18 14:09, 27F

05/18 16:13, , 28F
@compiler: 吃我 r ref
05/18 16:13, 28F

05/18 16:58, , 29F
超爛...
05/18 16:58, 29F

05/18 18:11, , 30F
沒資料型態,這樣能通過嗎?
05/18 18:11, 30F

05/18 21:14, , 31F
這是「程式語言」或「計算機概論」裡和程式語言相關章節
05/18 21:14, 31F

05/18 21:15, , 32F
會出現的考題類型。題目就寫 C-like program 了...
05/18 21:15, 32F

05/18 21:15, , 33F
它考的是程式語言的概念,不用在意能不能編譯 XD
05/18 21:15, 33F

05/18 21:17, , 34F
它跟程式設計不是同一門課,聖經本是小熊書
05/18 21:17, 34F

05/18 21:18, , 35F
Programming Languages Concepts and Constructs
05/18 21:18, 35F

05/18 21:22, , 36F
「print 出來的X是5而不是2」這句請描述清楚一點,哪裡
05/18 21:22, 36F

05/18 21:23, , 37F
有寫 print 出來是 5?圖也拍不完整 XD
05/18 21:23, 37F

05/18 21:23, , 38F
還有為什麼你內文會寫 codeblocks 和 iostream...
05/18 21:23, 38F

05/18 21:24, , 39F
五樓講的那個我記得是個叫 scratch 的程式,用滑鼠拉的XD
05/18 21:24, 39F

05/18 21:27, , 40F
退一百步先不管編譯問題好了 foo(x+y)的call by ref到
05/18 21:27, 40F

05/18 21:27, , 41F
底是什麼意思?
05/18 21:27, 41F

05/18 21:29, , 42F
照片上的內容我目前沒看到什麼異常的地方。
05/18 21:29, 42F

05/18 21:29, , 43F
就是 (x+y) 運算結果的 reference
05/18 21:29, 43F

05/18 21:33, , 44F
所以進入 aabb 以後,aabb 的參數 x 代表的就是 5。
05/18 21:33, 44F

05/18 21:33, , 45F
z = z + x 就是 z = 5 + 6,所以 z 是 11。
05/18 21:33, 45F

05/18 21:34, , 46F
然後不用太執著 C-like,C-like 有很意思,syntax 某部分
05/18 21:34, 46F

05/18 21:35, , 47F
像 C,譬如使用 { } 而不是 begin end,這也能算 XD
05/18 21:35, 47F

05/18 21:35, , 48F
C-like 有很多意思
05/18 21:35, 48F

05/18 21:36, , 49F
沒有說全部的語法語意跟 C 必須都很像,這就是 PL 考題。
05/18 21:36, 49F

05/18 21:38, , 50F
這題目其實貼 CSSE 板比較適合,可惜那邊沒人了 XD
05/18 21:38, 50F

05/18 21:41, , 51F
對 C++ programmer 來講 rvalue ref 是 C++11 以後才支援
05/18 21:41, 51F

05/18 21:42, , 52F
的東西,但這個「概念」在幾十年前就存在於 PL 領域。
05/18 21:42, 52F

05/18 21:42, , 53F
對 PL 學科來說,rvalue ref 不過就是一種 ref 罷了。
05/18 21:42, 53F

05/18 21:43, , 54F
C++ 只是原本不支援它,並不代表這是多新奇的東西。
05/18 21:43, 54F

05/18 21:53, , 55F
如果你用r value reference就可以說得通。問題是x的結果
05/18 21:53, 55F

05/18 21:54, , 56F
再怎麼樣,x都不會變成5
05/18 21:54, 56F

05/18 22:41, , 57F
原來照片下半部我沒看到,輸出結果:5 5 11 當然是錯的
05/18 22:41, 57F

05/18 22:42, , 58F
但是這解答是誰給的?
05/18 22:42, 58F

05/18 22:43, , 59F
剛剛圖只開到 z = 6 -> 11 這邊,難怪我看不懂原 po 問啥
05/18 22:43, 59F

05/18 22:46, , 60F
剛看到 x = 2, y = 3 -> 5, z = 6 -> 11 這三格,我以為
05/18 22:46, 60F

05/18 22:46, , 61F
解答就是 2 5 11,剛剛重新點開才發現下面沒開到 XD
05/18 22:46, 61F

05/19 03:23, , 62F
轉學考沒考PL(吧) 應該是程式設計之類的
05/19 03:23, 62F

05/19 03:25, , 63F
搞不好這個語言的operator+會mutate它的左運算元呀XDD
05/19 03:25, 63F

05/19 03:52, , 64F
計概含 PL,以前預官考試也會涵蓋到
05/19 03:52, 64F

05/19 03:52, , 65F
我覺得解答不是校方提供的,因為題目英文解答中文
05/19 03:52, 65F

05/19 03:54, , 66F
而且題目開頭寫「例」,很像參考書或補習班講義
05/19 03:54, 66F

05/19 03:56, , 67F
大一計概其實是資訊科學導論,連 CPU 排程跟數位邏輯都在
05/19 03:56, 67F

05/19 03:56, , 68F
範圍內
05/19 03:56, 68F

05/19 03:57, , 69F
所以造就以前管院教 office 結果預官考完罵老師的鬧劇
05/19 03:57, 69F

05/19 10:01, , 70F
以前某校的計算機概論也是講點BCD,再寫網頁
05/19 10:01, 70F

05/19 10:01, , 71F
老師整天忙選舉 常常是他的博士生來上課
05/19 10:01, 71F

05/19 22:42, , 72F
不好意思 aabb是什麼 我怎看不懂
05/19 22:42, 72F

05/19 22:43, , 73F
啊 沒看到上面有
05/19 22:43, 73F

05/20 01:10, , 74F
最近 imgur 開圖怪怪的 XD
05/20 01:10, 74F
文章代碼(AID): #1NEzpjvg (C_and_CPP)
文章代碼(AID): #1NEzpjvg (C_and_CPP)