求VB高手解释下这个选择题
下面表达式中,_________的值是整型(Integer或Long)。①36+4/2②123+Fix(6.61)③57+5.5\2.5④356&21⑤"374"+258...
下面表达式中,_______ __的值是整型(Integer或Long)。
①36+4/2 ②123+Fix(6.61) ③57+5.5\2.5
④356 &21 ⑤"374"+258 ⑥4.5 Mod 1.5
A.①②④⑥ B.③④⑤⑥
C.②④⑤⑥ D.③⑥
求解为什么。。。。。 展开
①36+4/2 ②123+Fix(6.61) ③57+5.5\2.5
④356 &21 ⑤"374"+258 ⑥4.5 Mod 1.5
A.①②④⑥ B.③④⑤⑥
C.②④⑤⑥ D.③⑥
求解为什么。。。。。 展开
3个回答
展开全部
答案是D
除法运算返回的结果是Double类型,Integer+Double结果以精度大的为准,所以1错,那么A错.
Fix()返回Double类型(很奇怪是吧,开始我也错了),所以2错.那么AC错.
整除返回的并不是Double,而是Long,这里我也记错了.所以3对.
第4表达式是字符串连接,返回结果是字符串型的,所以4错,那么ABC都错.
第5表达式结果是Double(更奇怪是吧,应该是字符串隐式转换的结果),所以5错.
第6表达式返回结果为Long,正确
验证代码,可在立即窗口执行,我是在VBS环境下测试的:
? typename(36+4/2)
? typename(123+Fix(6.61))
? typename(57+5.5\2.5)
? typename(356 & 21)
? typename("374"+258)
? typename(4.5 Mod 1.5)
结果是:
Double
Double
Long
String
Double
Long
如果还有问题欢迎追问,问题解决请及时选为满意回答,谢谢.
除法运算返回的结果是Double类型,Integer+Double结果以精度大的为准,所以1错,那么A错.
Fix()返回Double类型(很奇怪是吧,开始我也错了),所以2错.那么AC错.
整除返回的并不是Double,而是Long,这里我也记错了.所以3对.
第4表达式是字符串连接,返回结果是字符串型的,所以4错,那么ABC都错.
第5表达式结果是Double(更奇怪是吧,应该是字符串隐式转换的结果),所以5错.
第6表达式返回结果为Long,正确
验证代码,可在立即窗口执行,我是在VBS环境下测试的:
? typename(36+4/2)
? typename(123+Fix(6.61))
? typename(57+5.5\2.5)
? typename(356 & 21)
? typename("374"+258)
? typename(4.5 Mod 1.5)
结果是:
Double
Double
Long
String
Double
Long
如果还有问题欢迎追问,问题解决请及时选为满意回答,谢谢.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询