作者thebronjames (LBJ)
看板C_and_CPP
標題[問題] 一題題目
時間Mon Apr 9 19:54:41 2018
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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1523274883.A.69B.html
1F:推 school4303: C? 04/09 19:58
2F:→ school4303: 本人菜B8 A: 21/14=1.5 5.5*6=33 應該沒有 04/09 20:04
3F:→ bluesoul: d 04/09 20:05
4F:→ school4303: B: 好像沒看到short->int->long 也沒有float->double 04/09 20:05
5F:→ school4303: C沒看到 D就y=x/z和x=5.5*y? 04/09 20:08
6F:→ school4303: 呃 好像double y=6也是?正確應該要是6.0? 04/09 20:19
7F:→ thebronjames: 第四行那個算promotionㄇ 04/09 20:27
8F:→ adrianshum: C 吧。explicit 的意思就是「清楚寫出來的」。就是 (t 04/10 08:21
9F:→ adrianshum: ypename) var 這種,或是xxx_cast<> 也算 04/10 08:21
10F:推 Fenikso: BC吧? 沒說單選啊 XD 04/10 15:31
11F:→ a0919610611: x/z x:int->double 有promotion呀? 04/10 20:26
12F:推 Fenikso: 先來確認一下promotion的定義 一個promotion各自表述 XD 04/11 00:45
13F:→ Fenikso: 我認知的是四樓講的那樣 整數浮點數互轉不算 04/11 00:46
14F:→ thebronjames: 答案給C 04/11 02:18
15F:→ tinlans: 這答案不是 D 嗎,還是你們在玩他 04/12 12:37
16F:→ hunandy14: x=5.5*y; 互乘的暫存(產生D) 由dou轉int(產生A) 04/12 13:03
17F:→ hunandy14: double y=6; 6從int變成double (B) 04/12 13:06
18F:→ hunandy14: 覺得 AB 是想表達 size 變大變小(?) 04/12 13:10
19F:→ tinlans: 沒看到題目的 not,這樣單選最明顯答案是 C 吧 XD 04/12 14:29
20F:→ tinlans: 複選的話會是 B 和 C,不過很難判斷出題者對名詞的定義 04/12 14:36
21F:→ tinlans: 準不準確 04/12 14:36
22F:→ MOONRAKER: 標題太籠統,無助後人,改一下如"type system的題目" 04/12 16:53
23F:推 s0914714: 感覺B比較有爭議 以C的定義應該沒有promotion 04/15 21:03