[问题] 一题题目

楼主: 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