看板 C_and_CPP 關於我們 聯絡資訊
Which operation does not take place in the following example? int x = 21; double y = 6; double z = 14; y = x / z; x = 5.5 * y; A Truncation. B Promotion. C Explicit conversion. D Implicit conversion. 這要怎看? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.173.46 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1523274883.A.69B.html
school4303: C? 04/09 19:58
school4303: 本人菜B8 A: 21/14=1.5 5.5*6=33 應該沒有 04/09 20:04
bluesoul: d 04/09 20:05
school4303: B: 好像沒看到short->int->long 也沒有float->double 04/09 20:05
school4303: C沒看到 D就y=x/z和x=5.5*y? 04/09 20:08
school4303: 呃 好像double y=6也是?正確應該要是6.0? 04/09 20:19
thebronjames: 第四行那個算promotionㄇ 04/09 20:27
adrianshum: C 吧。explicit 的意思就是「清楚寫出來的」。就是 (t 04/10 08:21
adrianshum: ypename) var 這種,或是xxx_cast<> 也算 04/10 08:21
Fenikso: BC吧? 沒說單選啊 XD 04/10 15:31
a0919610611: x/z x:int->double 有promotion呀? 04/10 20:26
Fenikso: 先來確認一下promotion的定義 一個promotion各自表述 XD 04/11 00:45
Fenikso: 我認知的是四樓講的那樣 整數浮點數互轉不算 04/11 00:46
thebronjames: 答案給C 04/11 02:18
tinlans: 這答案不是 D 嗎,還是你們在玩他 04/12 12:37
hunandy14: x=5.5*y; 互乘的暫存(產生D) 由dou轉int(產生A) 04/12 13:03
hunandy14: double y=6; 6從int變成double (B) 04/12 13:06
hunandy14: 覺得 AB 是想表達 size 變大變小(?) 04/12 13:10
tinlans: 沒看到題目的 not,這樣單選最明顯答案是 C 吧 XD 04/12 14:29
tinlans: 複選的話會是 B 和 C,不過很難判斷出題者對名詞的定義 04/12 14:36
tinlans: 準不準確 04/12 14:36
MOONRAKER: 標題太籠統,無助後人,改一下如"type system的題目" 04/12 16:53
s0914714: 感覺B比較有爭議 以C的定義應該沒有promotion 04/15 21:03