[問題] 一題題目

作者: thebronjames (LBJ)   2018-04-09 19:54:41
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.
這要怎看?
作者: school4303 (某爬蟲類)   2018-04-09 19:58:00
C?本人菜B8 A: 21/14=1.5 5.5*6=33 應該沒有
作者: bluesoul (忙死你老爸)   2018-04-09 20:05:00
d
作者: school4303 (某爬蟲類)   2018-04-09 20:05:00
B: 好像沒看到short->int->long 也沒有float->doubleC沒看到 D就y=x/z和x=5.5*y?呃 好像double y=6也是?正確應該要是6.0?
作者: thebronjames (LBJ)   2018-04-09 20:27:00
第四行那個算promotionㄇ
作者: adrianshum (Alien)   2018-04-10 08:21:00
C 吧。explicit 的意思就是「清楚寫出來的」。就是 (typename) var 這種,或是xxx_cast<> 也算
作者: Fenikso (薪水小偷)   2018-04-10 15:31:00
BC吧? 沒說單選啊 XD
作者: a0919610611 (熾)   2018-04-10 20:26:00
x/z x:int->double 有promotion呀?
作者: Fenikso (薪水小偷)   2018-04-11 00:45:00
先來確認一下promotion的定義 一個promotion各自表述 XD我認知的是四樓講的那樣 整數浮點數互轉不算
作者: thebronjames (LBJ)   2018-04-11 02:18:00
答案給C
作者: tinlans ( )   2018-04-12 12:37:00
這答案不是 D 嗎,還是你們在玩他
作者: hunandy14 (Charlott.HonG)   2018-04-12 13:03:00
x=5.5*y; 互乘的暫存(產生D) 由dou轉int(產生A)double y=6; 6從int變成double (B)覺得 AB 是想表達 size 變大變小(?)
作者: tinlans ( )   2018-04-12 14:29:00
沒看到題目的 not,這樣單選最明顯答案是 C 吧 XD複選的話會是 B 和 C,不過很難判斷出題者對名詞的定義準不準確
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-04-12 16:53:00
標題太籠統,無助後人,改一下如"type system的題目"
作者: s0914714 (YA)   2018-04-15 21:03:00
感覺B比較有爭議 以C的定義應該沒有promotion

Links booklink

Contact Us: admin [ a t ] ucptt.com